3つの異なるサーバーで実行する7つの異なるJavaデーモン(すべて7つ)があります。javaコマンドラインには-Xmx2048mと-Xss1024kがあります。これらの3つのサーバーでは、21のプロセスすべてで、上部と上部のVIRTサイズが2.5GBをわずかに下回っています。RESサイズは、デーモンによって300〜1.9GBの範囲で異なります。
本来あるべきことはこれですべてです。
新しいサーバーを入力します。より高速なCPU、より多くのRAM(8GBではなく16GB)、わずかに新しいJava(古いサーバーでは1.6.0_10-b33、新しいサーバーでは1.6.0_31-b04)。両方のシステム(およびJVM)は64ビットです。
2つのデーモンを新しいサーバーに移動しました。新しいサーバーでは、同じタスクが与えられると、デーモンは非常に多くのCPU(コアの価値について)を消費し、処理量を減らします。(古いシステムの5110プロセッサから新しいシステムの5620プロセッサに移動しました)。
CPU使用率(GCスレッド??)のほぼ完全な追加コアであり、一方のデーモンで5GBVIRTと2GBRES、もう一方のデーモンで10.5GBVIRTと2GBRESを報告します。
Javaがメモリ制限を無視する(またはその場合は無視するように見える)原因となるアイデアはありますか?