Я хочу создать функцию, которая импортирует данные в разных количествах партий в зависимости от того, сколько ОЗУ доступно в какой-либо системе. Но как я могу найти количество доступной ОЗУ в R? Я могу использовать memory.size()
, но это работает только для Windows.
Как проверить объем оперативной памяти в R
Ответ 1
Учитывая предупреждения о зависимости от платформы, обсуждаемые в предыдущем комментарии, вы можете, например, разобрать /proc/meminfo
в Linux:
$ grep MemFree /proc/meminfo
MemFree: 573660 kB
$ awk '/MemFree/ {print $2}' /proc/meminfo
565464
Вы можете попробовать второй подход через system(..., intern=TRUE)
или даже через соединение с каналом.
Отредактируйте несколько лет спустя: В R и просто следуя указаниям предыдущего абзаца:
R> memfree <- as.numeric(system("awk '/MemFree/ {print $2}' /proc/meminfo",
+ intern=TRUE))
R> memfree
[1] 3342480
R>
Ответ 2
Теперь вы можете сделать это с benchmarkme::get_ram
функции benchmarkme::get_ram
.
https://cran.r-project.org/web/packages/benchmarkme/benchmarkme.pdf