?"Memory-limits"
sugiere usar ulimit
o limit
.
Hay un indicador de línea de comando:--max-mem-size
que puede establecer el inicial límite. El usuario puede aumentar esto durante la sesión usando memory.limit
.
Hay unix::rlimit_as()
que permite establecer límites de memoria para un proceso R en ejecución usando el mismo mecanismo que también se usa para ulimit
en la concha Windows y macOS no son compatibles.
En mi .Rprofile
tengo
unix::rlimit_as(1e12, 1e12)
para limitar el uso de memoria a ~12 GB.
Antes de eso...
Había creado un pequeño paquete R, ulimit
con funcionalidad similar.
Instálalo desde GitHub usando
devtools::install_github("krlmlr/ulimit")
Para limitar la memoria disponible para R a 2000 MiB, llame a:
ulimit::memory_limit(2000)
Ahora:
> rep(0L, 1e9)
Error: cannot allocate vector of size 3.7 Gb