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"