GNU/Linux >> Znalost Linux >  >> Linux

Alternativa k `memory.size()` v linuxu?

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"

Linux
  1. Jak změnit název hostitele v systému Linux

  2. Jak zkontrolovat velikost haldy pro proces v Linuxu

  3. Jaká je velikost atomového zápisu na disk v mém systému?

  1. Úvod do souborového systému Linux

  2. příkaz bat v systému Ubuntu 20.04 LTS Linux – alternativa k příkazu cat

  3. Jak řídit využití systémových prostředků pomocí ulimit v Linuxu

  1. Kali Linux systémové požadavky

  2. Příkaz k vypnutí Linuxu

  3. Jak zkontrolovat verzi Linuxu