Search code examples
rram

How to check the amount of RAM


I want to make a function that imports data in different numbers of batches depending on how much RAM is available on someone's system. But how can I find the amount of available RAM in R? I can use memory.size() but that only works for Windows.


Solution

  • 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>