2

重複の可能性:
xmx と top でメモリ使用量に違いがあるのはなぜですか?

を使用してJavaプログラムを実行します

java    -Xms32m -Xmx64m  xxxclassname

しかし、トップコマンドから、200MB近くのメモリが急増していることがわかります。Xmx オプションで指定されているように 64MB 未満ではないのはなぜですか?

4

2 に答える 2

4

The

-Xmx64m  

フラグはヒープサイズのみを制御します。Javaが正しく機能するには、これよりもはるかに多くのメモリが必要です。

于 2012-09-19T06:25:09.033 に答える
4

ガベージコレクションされたヒープの最大サイズを指定しています。Javaのメモリ消費には、ネイティブコード(JVMだけでなく、JNIがロードされたネイティブライブラリ)やPermGenスペースなど、他の側面もあります。(PermGenスペースはある程度調整できますが、あまり制限したくない場合は、プログラムがクラッシュします。)

于 2012-09-19T06:27:03.060 に答える