?"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