これはオペレーティングシステムで処理する必要があると思います。私が知っている組み込みの制限はありません。必要に応じて、R は取得できるすべてのメモリを使用します。
Linux で合計および/または使用可能なメモリに関する情報を取得するには、次を試してください
system('grep MemTotal /proc/meminfo')
または
system('free -m')
または
system('lshw -class memory')
最後のコマンドは、これをスーパーユーザーとして実行する必要があることを訴え、出力が正確でない可能性があるという警告を出します。しかし、私の経験からすると、それでもかなり有用な出力が得られます.
実行中の R スクリプトのメモリ使用量に関する情報を取得するには、top
を開始して、現在使用されているリソースを監視します。 別の端末で、またはたとえば、R スクリプト内から次のシステム コールを使用します。
system(paste0("cat /proc/",Sys.getpid(),"/status | grep VmSize"))
これがお役に立てば幸いです。
pryr の使用 ライブラリ:
library("pryr")
mem_used()
# 27.9 MB
x <- mem_used()
x
# 27.9 MB
class(x)
# [1] "bytes"
結果は@RHertelの回答と同じです。pryr 結果を変数に代入できます。
system('grep MemTotal /proc/meminfo')
# MemTotal: 263844272 kB
システムコールで変数に代入するには、intern = TRUE
を使用します :
x <- system('grep MemTotal /proc/meminfo', intern = TRUE)
x
# [1] "MemTotal: 263844272 kB"
class(x)
# [1] "character"