?"Memory-limits" doporučuje použít ulimit nebo limit .
Existuje příznak příkazového řádku:--max-mem-size který může nastavit počáteční omezit. Tuto hodnotu může uživatel během relace zvýšit pomocí memory.limit .
Je tam unix::rlimit_as() což umožňuje nastavit limity paměti pro běžící proces R pomocí stejného mechanismu, který se také používá pro ulimit ve skořápce. Windows a macOS nejsou podporovány.
V mém .Rprofile Mám
unix::rlimit_as(1e12, 1e12)
k omezení využití paměti na ~12 GB.
Před tím...
Vytvořil jsem malý balíček R, ulimit s podobnou funkcí.
Nainstalujte jej z GitHubu pomocí
devtools::install_github("krlmlr/ulimit")
Chcete-li omezit dostupnou paměť na R na 2000 MiB, volejte:
ulimit::memory_limit(2000)
Nyní:
> rep(0L, 1e9)
Error: cannot allocate vector of size 3.7 Gb
Jak použít sed k odstranění pouze dvojitých prázdných řádků?
gdb - seznam zdrojů aktuální funkce bez zadání jejího názvu