centos マシンで実行されているソケット リスナー プログラムがあります。心配なのは、アプリケーションのメモリ使用量が一番上に表示され続けていることです。一方、jstat gcutil を使用すると、Permanent Generation のわずかな増加が示されますが、これまでのところ、FGC ではなく多くの YGC でした。これはメモリの問題を示している可能性がありますか? 最大メモリと初期メモリの両方が 256M に設定されています。
質問する
735 次
1 に答える
2
これはメモリの問題を示している可能性がありますか?
多分。あなたが説明しているのは、アプリケーションのバグによって引き起こされたメモリ リークである可能性があります。それが問題である場合、最終的にアプリケーションは Java ヒープをいっぱいにして .... で終了しますOutOfMemoryError
。
これを確認したい場合は、はるかに小さいヒープでアプリケーションを実行してみてください。つまり、最大ヒープ サイズが小さくなります。リークがある場合、アプリケーションは短時間でクラッシュします。
Java メモリ リークの検出に関するリソースは多数あります。ここにあるいくつかの:
- Javaメモリリークを解決するための一般的な戦略?
- Java メモリ リークを見つける方法
- http://netbeans.org/kb/articles/nb-profiler-uncoveringleaks_pt1.html
- http://rejeev.blogspot.com.au/2009/04/analyzing-memory-leak-in-java.html
これには他にも考えられる説明があります...「問題はありません」など。しかし、OOME を取得した場合は、実際に問題が発生します。
于 2013-03-28T03:37:11.640 に答える