私は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を実行できるようですが、複雑な問題があります。使用されているメモリと使用可能なメモリの量が単純な数字ではないためです(理由についての議論を参照)。ここ)、合計はある時点で機械が実際に渡すことができる量を超過できます。