GNU/Linux >> Belajar Linux >  >> Linux

Alternatif untuk `memory.size()` R di linux?

Saya pikir ini harus ditangani oleh sistem operasi. Tidak ada batasan bawaan yang saya ketahui; jika perlu, R akan menggunakan semua memori yang bisa didapatkannya.

Untuk mendapatkan informasi tentang total dan/atau memori yang tersedia di linux, Anda dapat mencoba

system('grep MemTotal /proc/meminfo')

atau

system('free -m')

atau

system('lshw -class memory')

Perintah terakhir akan mengeluh bahwa Anda harus menjalankan ini sebagai pengguna super dan akan memberi peringatan bahwa hasilnya mungkin tidak akurat; tapi dari pengalaman saya masih akan memberikan hasil yang cukup berguna.

Untuk mendapatkan informasi tentang penggunaan memori dari skrip R yang sedang berjalan, seseorang dapat memantau sumber daya yang saat ini digunakan dengan memulai top di terminal terpisah, atau gunakan, misalnya, panggilan sistem berikut dari dalam skrip R:

system(paste0("cat /proc/",Sys.getpid(),"/status | grep VmSize"))

Semoga ini bisa membantu.


Menggunakan pryr perpustakaan:

library("pryr")

mem_used()
# 27.9 MB

x <- mem_used()
x
# 27.9 MB
class(x)
# [1] "bytes"

Hasilnya sama dengan jawaban @RHertel, dengan pryr kita dapat menetapkan hasilnya ke dalam variabel.

system('grep MemTotal /proc/meminfo')
# MemTotal:       263844272 kB

Untuk menetapkan variabel dengan system call, gunakan intern = TRUE :

x <- system('grep MemTotal /proc/meminfo', intern = TRUE)
x
# [1] "MemTotal:       263844272 kB"
class(x)
# [1] "character"

Linux
  1. perintah bat di sistem Linux Ubuntu 20.04 LTS – alternatif dari perintah cat

  2. Cara Mengontrol Penggunaan Sumber Daya Sistem dengan ulimit di Linux

  3. Cara memeriksa ukuran heap untuk suatu proses di Linux

  1. Pengantar Sistem File Linux

  2. Cara Mengubah Nama Host di Linux

  3. Berapa ukuran penulisan atom ke disk di sistem saya?

  1. Persyaratan Sistem Kali Linux

  2. Perintah Shutdown Linux

  3. Cara Memeriksa Versi Linux