メモリリークが頻繁に全GCが発生します

1、問題が見つかりました。

       プロメテウスのアラームユーザーセンターサービス旧過度GC、調査を必要とします

2、問題分析

      4つの生産サービスノードのユーザー・センター配置は、2グラムの全体のヒープサイズは、新世代の大きさは1グラムに設定されています。アラームは、ノードビューが完全に実際に、時間未満で約11:20〜約10時30分からは、ノードを見つける5を持っており、4つのノードを報告していますGCは、これは非常に珍しいです。

3、GCViewerを使用してGCログ解析

       図から分かるように、メモリ全体1グラム歳、ほぼすべての占有、フルGCの後、多くのメモリの回復を持っていなかった、それはメモリリークことは明らかです。メモリリークが後の時間をアップグレードする、の古いメモリが十分ではありません見つけ、フルGCの新世代は、一定の年齢の対象となり、アップグレードする必要があり、十分なメモリ空間歳の原因となるが、各時間のフルGC、どのくらいのメモリが回復し、もののませんでしたこれは、OOMには至らなかったが、すぐに次の時間は、彼らが完全GCにアップグレードする必要があります。

図4は、ヒープのスナップショットファイルをダンプ

       コマンドを使用jinfo -flag +HeapDumpBeforeFullGC 11752してjinfo -flag +HeapDumpAfterFullGC 11752、完全なGCヒープダンプメモリのスナップショットの前後とフルGC(注:ダンプが完了した後、これら2つのパラメータを閉じてください、またはFull GC多い原因頻繁ダンプ、ディスクスペースの多くを取るでしょう);コマンドを使用jinfo -flag -HeapDumpBeforeFullGC 11752してjinfo -flag -HeapDumpAfterFullGC 11752シャットダウン二つのパラメータ。実際には、あなたはそれがメモリリークであるため、メモリ歳コマンドにそう直接、リサイクルすることができない、これらの2つのパラメータを追加し、[フルGCの出現を待つことはできませんjmap -dump:format=b,file=before.hprof 11752し、
jmap -dump:live,format=b,file=after.hprof 11752ヒープのスナップショットファイルをダンプすることも可能であり、プラスライブ手段が唯一の保存ライブオブジェクト。

図5に示すように、スナップショットのエクリプスMAT分析

      もちろん、あなたがオブジェクトヒープメモリがされて見ることができるDoctorInvitePictureManagerImpl占有811.8Mを、それがメモリリークを引き起こすことがあります。残りは、ビジネスの学生がコードをトラブルシューティングする必要があります。

おすすめ

転載: www.cnblogs.com/cuizhiquan/p/11536827.html