Creo que esto debe ser manejado por el sistema operativo. No hay un límite incorporado que yo sepa; si es necesario, R usará toda la memoria que pueda obtener.
Para obtener información sobre el total y/o sobre la memoria disponible en linux, puedes probar
system('grep MemTotal /proc/meminfo')
o
system('free -m')
o
system('lshw -class memory')
El último comando se quejará de que debe ejecutar esto como superusuario y le dará una advertencia de que la salida puede no ser precisa; pero según mi experiencia, seguirá proporcionando un resultado bastante útil.
Para obtener información sobre el uso de la memoria de un script R en ejecución, se pueden monitorear los recursos utilizados actualmente iniciando top
en una terminal separada, o use, por ejemplo, la siguiente llamada al sistema desde el script R:
system(paste0("cat /proc/",Sys.getpid(),"/status | grep VmSize"))
Espero que esto ayude.
Usando pryr biblioteca:
library("pryr")
mem_used()
# 27.9 MB
x <- mem_used()
x
# 27.9 MB
class(x)
# [1] "bytes"
El resultado es el mismo que la respuesta de @RHertel, con pryr podemos asignar el resultado a una variable.
system('grep MemTotal /proc/meminfo')
# MemTotal: 263844272 kB
Para asignar a una variable con llamada al sistema, use intern = TRUE
:
x <- system('grep MemTotal /proc/meminfo', intern = TRUE)
x
# [1] "MemTotal: 263844272 kB"
class(x)
# [1] "character"