Java プログラムから呼び出される Rscript があります。スクリプトの目的は、ggplot で一連のグラフを自動的に生成し、それらを pdf に分割することです。それぞれ独自のスクリプトから呼び出される約 30 個のグラフで、やや大きくなっています。
入力は 5 ~ 20 MB のタブ区切りのファイルですが、R セッションでは最大 12 GB の RAM が使用されることがあります (Mac では 10.68 btw ですが、これはすべてのプラットフォームで実行されます)。
オブジェクトのメモリ サイズを確認する方法について読みましたが、25 MB を超えるものはなく、すべての関数とすべてのフィルター ステップのすべてをディープ コピーしたとしても、このレベルに近づくべきではありません。
gc() も試してみましたが、役に立ちませんでした。gcinfo(TRUE) を実行してから gc() を実行すると、38MB の RAM を使用していることがわかります。しかし、アクティビティモニターは最大12GBになり、おそらくhdのページングが原因で速度が低下します.
ulimit -v 800000 を実行したbashスクリプトを介して呼び出してみましたが、うまくいきませんでした。
他に何ができますか?