More Related Content
PPTX
PDF
PPTX
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O... PPTX
PDF
PDF
分散トレーシング技術について(Open tracingやjaeger) PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理 PDF
ClassLoader Leak Patterns What's hot
PDF
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料) PDF
PDF
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて PDF
JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019... PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019) PDF
Javaはどのように動くのか~スライドでわかるJVMの仕組み PDF
Concurrent Mark-Sweep Garbage Collection #jjug_ccc PDF
マルチテナント化で知っておきたいデータベースのこと PPTX
Tomcatの実装から学ぶクラスローダリーク #渋谷Java PPTX
PDF
PPTX
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料) PDF
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み) PPTX
PPTX
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc PPTX
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料) PDF
PPTX
PDF
これからLDAPを始めるなら 「389-ds」を使ってみよう PPTX
Viewers also liked
PDF
PDF
PDF
Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6 PDF
Way Improved :) GC Tuning Confessions - presented at JavaOne2015 PDF
PPTX
PPTX
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva... PDF
PDF
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure PPTX
PDF
PPTX
PDF
PPTX
PDF
JDK9 新機能 (日本語&ショートバージョン) #jjug PPTX
PDF
PDF
PPTX
PDF
More from Yuji Kubota
PDF
Head toward Java 16 (Night Seminar Edition) PDF
Head toward Java 15 and Java 16 PDF
Head toward Java 14 and Java 15 #LINE_DM PDF
Head toward Java 14 and Java 15 PDF
PDF
Head toward Java 13 and Java 14 #jjug PDF
Catch up Java 12 and Java 13 PDF
Migration Guide from Java 8 to Java 11 #jjug PDF
Introduction to Java 11: Support and JVM Features #jjug PDF
PPTX
PPTX
PPTX
Secrets of Rock Star Developers (and How to Become One!) [CON7615] (Yuji KUBO... PDF
PDF
PDF
JavaOne 2016 Java SE Feedback #jjug #j1jp PDF
OpenJDK コミュニティに参加してみよう #jjug PDF
JavaOne 2015 JDK Update (Jigsaw) #j1jp PDF
OpenJDK トラブルシューティング #javacasual PDF
HeapStats @ Seasar Conference 2015 LT java.lang.OutOfMemoryError #渋谷java
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
Copyright(c)2014 NTT Corp.All Rights Reserved.
Metaspace
Java heapPermanentnative
Thread
Stack
-Xmx-XX:MaxPermSize
OS
-XX:MaxMetaspaceSize
-Xss*threads
Compressed Class
Space
-XX:CompressedClassSpaceSize
JDK7以前
※注:この図は解りやすくするために一部嘘をついています。
例:Metaspaceは不連続。Permanent は一部 heap にも移動した。
ThreadStack は 1スレッド辺り Xss + guard page サイズ, 等。
5
OS管理 JVM管理 JVM,JNIコード
データセグメント等
JDK8
- 7.
- 8.
- 9.
- 10.
- 11.
Copyright(c)2014 NTT Corp.All Rights Reserved. 10
Native
Metaspace
Java heapPermanentnative
Thread
Stack
-Xmx-XX:MaxPermSize
OS
-Xss*threads
Compressed Class
Space
JDK7以前
JDK8
-XX:MaxMetaspaceSize-XX:CompressedClassSpaceSize
- 12.
- 13.
- 14.
Copyright(c)2014 NTT Corp.All Rights Reserved. 13
Metaspace
Java heapPermanentnative
Thread
Stack
-Xmx-XX:MaxPermSize
OS
-Xss*threads
Compressed Class
Space
JDK7以前
JDK8
heap + non-heap
-XX:MaxMetaspaceSize-XX:CompressedClassSpaceSize
- 15.
- 16.
- 17.
Copyright(c)2014 NTT Corp.All Rights Reserved. 16
Metaspace
Java heapPermanentnative
Thread
Stack
-Xmx-XX:MaxPermSize
OS
-Xss*threads
Compressed Class
Space
JDK7以前
JDK8
non-heap
-XX:MaxMetaspaceSize-XX:CompressedClassSpaceSize
- 18.
- 19.
- 20.
Copyright(c)2014 NTT Corp.All Rights Reserved. 19
Metaspace
Java heapPermanentnative
Thread
Stack
-Xmx-XX:MaxPermSize
OS
-Xss*threads
Compressed Class
Space
JDK7以前
JDK8
heap
-XX:MaxMetaspaceSize-XX:CompressedClassSpaceSize
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
Copyright(c)2014 NTT Corp.All Rights Reserved. 25
FullGC ごとに取得して heapstats_snapshot.dat に
保存される。GC 時間も合わせて表示されます。
このままだとリークの根本原因は不明のまま。
デモの様子
- 27.
- 28.
Copyright(c)2014 NTT Corp.All Rights Reserved. 27
クラスの参照関係をサイズ順に確認できる。リーク原
因と思わしき[B(バイト配列) は Airクラス等と参照関係
があるので, これらのクラスで作成されている可能性
がある。サードパーティ製を含めて調査範囲を絞れる
デモの様子
- 29.
- 30.
- 31.
- 32.