?"Memory-limits"
suggerisce di utilizzare ulimit
o limit
.
C'è un flag della riga di comando:--max-mem-size
che può impostare l'iniziale limite. Questo può essere aumentato dall'utente durante la sessione utilizzando memory.limit
.
C'è unix::rlimit_as()
che consente di impostare i limiti di memoria per un processo R in esecuzione utilizzando lo stesso meccanismo utilizzato anche per ulimit
nel guscio. Windows e macOS non supportati.
Nel mio .Rprofile
Ho
unix::rlimit_as(1e12, 1e12)
per limitare l'utilizzo della memoria a ~12 GB.
Prima...
Avevo creato un piccolo pacchetto R, ulimit
con funzionalità simili.
Installalo da GitHub usando
devtools::install_github("krlmlr/ulimit")
Per limitare la memoria disponibile per R a 2000 MiB, chiama:
ulimit::memory_limit(2000)
Ora:
> rep(0L, 1e9)
Error: cannot allocate vector of size 3.7 Gb