Оптимальное использование памяти в R - PullRequest
0 голосов
/ 19 сентября 2018

Я использую 64-битную Windows-машину.RStudio и R также 64-битные.Я использую их на экземпляре EC2, который является r5.4xlarge.Он имеет 16 ядер и около 128 ГБ памяти.Если я запускаю команду memory.limit(), я вижу 100 ГБ.Так как в файле .RProfile я установил этот предел памяти.Тем не менее, когда я использую RScript, я вижу только 10 ГБ памяти, используемой в диспетчере задач.

Как мне убедиться, что R использует оптимальную память, чтобы скрипт работал намного быстрее?Если я запускаю тот же сценарий в своей локальной системе с 64 ГБ ОЗУ, сценарий завершается через 5 минут при 100% -ной загрузке ЦП, но в EC2 он завершается за 15 минут при только 25% -ной загрузке ЦП.Пожалуйста, дайте мне знать, если требуется дополнительная информация.

1 Ответ

0 голосов
/ 20 сентября 2018

Я не уверен, что проблема памяти в этом.

Поскольку вы заметили, что сервер работает только с 25% загрузки ЦП и 100% локально, возможно, ваш код распараллелен локально, а не на ВМ.

Еще одна вещь, на которую стоит обратить внимание: вы используете Microsoft R Open локально?а не на вм?R Open по умолчанию использует Intel MKL (библиотека Math Kernel).это намного более быстрая реализация библиотек BLAS.

sessionInfo()

для стандартной библиотеки R

other attached packages:
[1] Matrix_1.2-12

и для R Open (что-то вроде)

other attached packages:
[1] RevoUtilsMath_10.0.0
...