
私はOpenVZで仮想化されたUbuntu 11.10を使用しています。この出力は、free -m
バッファが常に使用されているものと同じであることを示します。
total used free shared buffers cached
Mem: 2048 1079 968 0 0 0
-/+ buffers/cache: 1079 968
Swap: 0 0 0
これが968MBの空きメモリがあるにもかかわらず、Java仮想マシンを実行できない理由ですか?
答え1
これはOpenVZによるものです。に適用された制限事項を見ることができ、/proc/user_beancounters
以下はいくつかの説明です。http://wiki.openvz.org/Privvmpages
コンテナ関連のメモリの問題はありませんでしたが、ここでのアドバイスは次のとおりです。
http://www.moeding.net/archives/20-Optimizing-virtual-memory-in-OpenVZ-I.html
ulimit
始めるのに最適な場所はスタックサイズを設定することです。 OpenVZが上部のVIRT列で見つけたのと同じ指標を使用しているという意味は間違っています。 「privvmpages」には仮想ページタグが付いています。書き込み可能でプライベートしたがって、プロセスの全体のアドレス空間よりはるかに小さいです。そこにはいくつかの異なるエラーメッセージがあります(「残念ながら、メモリ不足はほとんどのプログラムが正しく処理できないエラー条件です」) - Linuxでは、メモリ不足はデフォルトです。いいえエラー状態なので、プログラムが正しく処理する機会はありません)。しかし、スタックサイズを下げることはまだ試してみる価値があります。
Slmの提案は、太った猫を探している人にとって良い解決策のようですが、あなたのスライスが私のものと同じであれば、他の/proc/bc
方法はありません。ただし、プロセスの書き込み可能および個人的な統計を取得したり、pmap -d
上部の数字を表示したりできます。
1GBの場合、JVMを実行できるようですが、複雑な問題があります。使用されているメモリと使用可能なメモリの量が単純な数字ではないためです(理由についての議論を参照)。ここ)、合計はある時点で機械が実際に渡すことができる量を超過できます。
答え2
私はbash機能を使ってこれを行います。
vzr_mb ()
{
( printf "vm feature held(MB) maxheld(MB) barrier(MB) limit(MB) failcnt\n";
grep privvm /proc/bc/1*/resources | awk '{sub($3,$3*4096/2^20) sub($4,$4*4096/2^20) sub($5,$5*4096/2^20) sub($6,$6*4096/2^20)}1' ) | column -t
}
実行すると、次のようになります。
% vzr_mb
vm feature held(MB) maxheld(MB) barrier(MB) limit(MB) failcnt
/proc/bc/101/resources: privvmpages 184.422 300.129 300 310 2
/proc/bc/102/resources: privvmpages 473.703 861.078 900 950 13
/proc/bc/103/resources: privvmpages 184.457 579.941 300 350 238
/proc/bc/104/resources: privvmpages 307.961 700.473 400 450 70
/proc/bc/105/resources: privvmpages 477.828 773.586 700 750 1730347
/proc/bc/106/resources: privvmpages 637.801 981.281 1000 1050 511
/proc/bc/108/resources: privvmpages 167.777 580.102 285 295 1
/proc/bc/109/resources: privvmpages 202.055 308.969 395 425 0
/proc/bc/110/resources: privvmpages 212.492 625.324 295 325 326
/proc/bc/111/resources: privvmpages 189.539 535.492 295 325 5
/proc/bc/112/resources: privvmpages 239.617 407.766 468.75 488.281 0
/proc/bc/180/resources: privvmpages 195.605 601.602 200 225 3049321
/proc/bc/181/resources: privvmpages 967.027 1304.82 1500 2000 3
/proc/bc/183/resources: privvmpages 0 1087.72 1115 1150 0