JFR などのツールを用いて FullGC や OOME の原因を特定する流れ by 髙市 智章

JJUG CCC 2021 Spring
採択
2021/05/23 15:00〜
Track D
50 min
Tools Intermediate Standard

JFR などのツールを用いて FullGC や OOME の原因を特定する流れ

takaichi00 髙市 智章 takaichi00
5

Presentation Type [Standard]:
Level [Intermediate]:
Categories [Tools]:
カンファレンス終了後にJJUG YouTubeチャンネルでセッション動画の公開を希望する / Agree to publish your session to JJUG YouTube channel after conference [Yes]:

Abstract:

本セッションでは、JUGナイトセミナーの LT 大会で発表させていただいた「検証では成功した Java のパッチが商用でコケた件」(https://speakerdeck.com/takaichi00/jugnaitosemina-jian-zheng-dehacheng-gong-sita-java-falsepatutigashang-yong-dekoketajian) で取り上げた、FullGC が発生するアプリケーションをより詳しく調査する流れを説明するセッションにしようと思います。

調査にあたっては、JFR, Memory Analyzer などのツールを用います。まず JFR を用いて FullGC, OOME が発生している原因を特定し、Memory Analyzer を用いて多角的な視点から更に詳細な原因を特定していく流れを想定しています。全体の大まかな流れは以下の GitHub でも公開しています。

https://github.com/Takaichi00/jfr-sample

これらのツールは普段の開発業務ではあまり使う機会がなかったのですが、Java のシステム運用や性能問題を解決する際、非常に役に立つと思いこのプロポーザルを提出しました。

セッションの対象者としては以下を想定しています。
・JFR などのツールは聞いたことがあるが使ったことがない、これから使ってみたいので概要を知りたいという方
・プログラミング言語としての Java だけではなく、JVM / GC / Heap / Stack / Thread などの技術にも触れてみたいという方