Myslím, že by to měl řešit operační systém. Neexistuje žádný vestavěný limit, o kterém vím; v případě potřeby R použije veškerou paměť, kterou může získat.
Chcete-li získat informace o celkové a/nebo dostupné paměti v linuxu, můžete zkusit
system('grep MemTotal /proc/meminfo')
nebo
system('free -m')
nebo
system('lshw -class memory')
Poslední příkaz si bude stěžovat, že byste to měli spustit jako superuživatel, a zobrazí varování, že výstup nemusí být přesný; ale z mé zkušenosti to bude stále poskytovat poměrně užitečný výstup.
Chcete-li získat informace o využití paměti spuštěným skriptem R, můžete buď sledovat aktuálně používané zdroje spuštěním top
v samostatném terminálu nebo použijte např. následující systémové volání ze skriptu R:
system(paste0("cat /proc/",Sys.getpid(),"/status | grep VmSize"))
Doufám, že to pomůže.
Pomocí pryr knihovna:
library("pryr")
mem_used()
# 27.9 MB
x <- mem_used()
x
# 27.9 MB
class(x)
# [1] "bytes"
Výsledek je stejný jako odpověď @RHertel s pryr výsledek můžeme přiřadit do proměnné.
system('grep MemTotal /proc/meminfo')
# MemTotal: 263844272 kB
Chcete-li přiřadit proměnnou pomocí systémového volání, použijte intern = TRUE
:
x <- system('grep MemTotal /proc/meminfo', intern = TRUE)
x
# [1] "MemTotal: 263844272 kB"
class(x)
# [1] "character"