I want to make a function that imports data in different numbers of batches depending on how much RAM is available on someones system. But how can I find the amount of available RAM in R? I can use memory.size()
but that only works for Windows.
Given the warnings concerning platform-dependency discussed in the earlier comment, you could for example parse /proc/meminfo
on Linux:
$ grep MemFree /proc/meminfo
MemFree: 573660 kB
$ awk '/MemFree/ {print $2}' /proc/meminfo
565464
You could try the second approach via system(..., intern=TRUE)
, or even via a pipe connection.
Edit some 5+ years later: In R, and just following what the previous paragraph hinted at:
R> memfree <- as.numeric(system("awk '/MemFree/ {print $2}' /proc/meminfo",
+ intern=TRUE))
R> memfree
[1] 3342480
R>