我正在具有 250GB 内存的服务器上开发 Rstudio。但是处理一个 2GB 的数据文件需要花费太多时间。我应该如何加快我的工作?
Rstudio 使用 2.5% 的 250GB RAM。如何增加它
数据挖掘
r
工作室
2022-02-23 00:48:42
1个回答
您可能已经知道也可能不知道,但这里有一些关于 R 和 Rstudio 如何工作和使用资源的基础知识。
Rstudio 是 R 的图形用户界面,而不是解释器/运行时环境。有一个单独的“R 会话”实际执行您的 R 程序并返回结果供 Rstudio 显示。因此,让Rstudio使用更多内存不会对程序的执行速度产生任何影响。
其次,内存分配和清理(又称“垃圾收集”)由 R 运行时环境自动处理。“ R 保存它在虚拟内存中使用的对象”。虚拟内存是物理主内存和辅助存储的组合,由服务器操作系统配置决定。您可以使用命令行来更改分配给进程的虚拟内存量。(请咨询您最喜欢的 Linux 专家。)
第三,您的程序速度可能会或可能不会受到内存速度的限制。您可能会受到计算限制。进行一些测试以找出限制性能的因素。
第四,你应该首先问自己你的程序是否实现了一个高效的算法。即使您没有使用循环和分支进行编程,您调用的函数也可能会使用它们,并且可能对您的应用程序没有效率。例如,切换到data.tablefrom可以获得显着的性能提升data.frame。
第五,一旦你选择了一种有效的算法,你就可以将精力投入到并行执行中。最简单的方法是使用自动矢量化操作的函数。更复杂一点是使用包doParallel和foreach. 使用doParallel,您可以指定要使用的 CPU 内核数,在服务器上的范围可能为 32 到 64 或更多。最后,如果您的服务器具有图形处理单元 (GPU),则某些算法可以使用 GPU 命令重新编程并获得大规模并行性。此选项需要最大的努力并且具有最多的限制。
其它你可能感兴趣的问题