我一直在使用64位Windows计算机。 RStudio和R也是64位。我在r5.4xlarge的EC2实例上使用它们。它具有16核和大约128G内存。如果我运行命令memory.limit()
,则会看到100GB。因为,我在.RProfile文件中设置了此内存限制。仍然,当我使用RScript时,我看到任务管理器中仅使用了10GB内存。
如何确保R使用最佳内存,以便脚本运行得更快?如果我在具有64 GB RAM的本地计算机上运行相同的脚本,则该脚本将在5分钟内使用100%CPU使用率完成,而在EC2上,它将在15分钟内使用25%的CPU使用率完成。请让我知道是否需要其他信息。
答案 0 :(得分:2)
我不确定这是否是内存问题。
由于您注意到服务器仅在25%的CPU使用率和100%的本地使用率下运行,因此您的代码可能在本地并行化,而不在VM上并行化。
要查看的另一件事是您是否在本地运行Microsoft R Open?而不是在VM上? R Open默认情况下使用英特尔MKL(数学内核库)。这是对BLAS库的更快实现。
sessionInfo()
用于标准R库
other attached packages:
[1] Matrix_1.2-12
和R Open(类似)
other attached packages:
[1] RevoUtilsMath_10.0.0