オペレーティング システムは、10 台の仮想マシン JVM を実行しています。実際、ほとんどの人は何もせず、時々ただ仕事をしているだけです。各プロセスは、600MB のシステム メモリを割り当てます。実質100MBまで物理的に使用できることがわかっています。これらの各プロセスの残りの 500 MB は、JVM (OldGen など) によって管理されるメモリです。残念ながら、私のシステムには 2GB の RAM しかないため、割り当てられたメモリのほとんどがスワップに取り込まれてしまいます。これは、マシンの 1 つ (最初のマシン) の時間になると、スワップが数十秒間システム メモリに読み込まれることを意味します。
タスクの完了後に JVM がメモリをオペレーティング システムに解放するように強制する方法はありますか? たとえば、GC は 1 ~ 5 分ごとに実行され、その結果、プロセス メモリがシステムに対して解放されます。
使用しています: Linux x86_64 SMP、Java HotSpot (TM) 64-Bit Server VM 1.6.0