Jetty に含まれる Java の Web サービスがあります。デフォルトの ParallelGC で Sun の Java 6 を使用しており、次のコマンドライン オプションをオンにしています: "-verbose:gc -XX:+PrintGCTimeStamps --XX:+PrintGCDetails"。
プロセスがメモリ不足になると、次のようなログラインが連続して表示されます。
66872.846:[フルGC [PSYounggen:932534K-> 930686K(1865088K)] [PSOLDGEN:5595037K-> 5595024K(5595136K)] 6527571K-> 6525710K(1646024K)時間: user=12.25 sys=0.00, real=12.24 秒] 66885.098:[フルGC [PSYounggen:932608K-> 932608K(1865088K)] [PSOLDGEN:5595024K-> 5595024K(5595136K)] 6527632K-> 6527632K [16460KKEN:16460KKEN]時間: user=9.66 sys=0.01, real=9.67 秒] 66894.773:[フルGC [PSyounggen:932608K-> 932488K(1865088K)] [PSOLDGEN:5595024K-> 5595023K(5595136K)] 6527632K-> 6527512K [16460kk [> 16512K]] [16527632K]時間: user=11.85 sys=0.00, real=11.85 秒] 66906.623:[フルGC [PSyounggen:932608K-> 932608K(1865088K)] [PSOLDGEN:5595023K-> 5595023K(5595136K)] 6527631K-> 6527631K [16527631K]時間: user=9.60 sys=0.00, real=9.60 秒] 66916.224:[フルGC [PSYounggen:932608K-> 932488K(1865088K)] [PSOLDGEN:5595023K-> 5595023K(5595136K)] 6527631K-> 6527512K [16527631K] [16527631K]時間: user=9.65 sys=0.00, real=9.65 秒] 66925.881:[完全なGC [PSyounggen:932608K-> 0K(1865088K)] [PSOLDGEN:5595023K-> 413351K(5595136K)] 6527631K-> 41333351K(164870)[16487KE)[164870)]時間: user=6.90 sys=0.00, real=6.90 秒]
最初の 5 行は、ガベージ コレクターがまったく進行していないことを示しているように見えます。JVM に関する私の理解によれば、これにより OutOfMemoryError が発生するはずですが、ログにはそのようなものは見当たりません。何か (JVM レベルで) がそれらのスローを妨げている可能性はありますか? あるいは、Jetty または私のアプリケーションがそれらを抑制している可能性がありますか?
アドバイスありがとうございます!