2

64 ビット Linux と Java JVM を使用しています。JVM が使用するメモリがマシンの物理メモリ サイズよりも小さいかどうかを確認したいのですが、OS によるディスク メモリ スワップは発生しませんか?

4

2 に答える 2

2

jvm 引数 -Xmx512m を使用して Java アプリケーションを開始できます。これにより、ヒープに最大 512MB の RAM を使用するよう jvm に指示されます。スレッド スタック サイズ -Xss512k の別のパラメーターが存在することも考慮してください。したがって、jvm が使用するメモリの量は、使用する GC コレクターに応じて、最大ヒープ + (threadCount * threadStackSize) + JIT コンパイルおよび GC データ構造用の RAM になります。

これを考慮に入れると、jvmがマシンに存在するものよりも多くのRAMを使用しないようにすることができます

于 2013-07-04T08:27:17.310 に答える
2

いいえ、必ずしもそうではありません。物理メモリは、すべてのプロセスによって共有されるだけでなく、他の多くのカーネルのもの (ディスク キャッシュなど) によっても共有されます。したがって、アプリケーションが使用する仮想メモリの量だけが考慮事項ではありません。

于 2013-07-04T07:50:04.923 に答える