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を、それがメモリリークを引き起こすことがあります。残りは、ビジネスの学生がコードをトラブルシューティングする必要があります。