Content-Length: 275010 | pFad | http://www.slideshare.net/YujiKubota/javalangoutofmemoryerror-java

java.lang.OutOfMemoryError #渋谷java | PPT
SlideShare a Scribd company logo
Copyright(c)2014 NTT Corp. All Rights Reserved. 0
渋谷Java
Copyright(c)2014 NTT Corp. All Rights Reserved. 1
Copyright(c)2014 NTT Corp. All Rights Reserved. 2
Copyright(c)2014 NTT Corp. All Rights Reserved. 3
Copyright(c)2014 NTT Corp. All Rights Reserved. 4
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
Copyright(c)2014 NTT Corp. All Rights Reserved.
java.lang.OutOfMemoryError: Java heap space
6
Copyright(c)2014 NTT Corp. All Rights Reserved. 7
Copyright(c)2014 NTT Corp. All Rights Reserved. 8
heap
non-heap
native
それ以外
Copyright(c)2014 NTT Corp. All Rights Reserved.
次ページ以降のスライドの読み方
9
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
Copyright(c)2014 NTT Corp. All Rights Reserved. 11
※:読み書き権限やファイルマップ有無などの属性が同
じで仮想アドレスが連続する仮想メモリのこと。
Copyright(c)2014 NTT Corp. All Rights Reserved. 12
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
Copyright(c)2014 NTT Corp. All Rights Reserved. 14
Copyright(c)2014 NTT Corp. All Rights Reserved. 15
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
Copyright(c)2014 NTT Corp. All Rights Reserved. 17
Copyright(c)2014 NTT Corp. All Rights Reserved. 18
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
Copyright(c)2014 NTT Corp. All Rights Reserved. 20
Copyright(c)2014 NTT Corp. All Rights Reserved. 21
Copyright(c)2014 NTT Corp. All Rights Reserved. 22
Copyright(c)2014 NTT Corp. All Rights Reserved. 23
定期的に取得して heapstats_log.csv に保存される。
デモの様子
Copyright(c)2014 NTT Corp. All Rights Reserved. 24
FullGC ごとに取得して heapstats_snapshot.dat に
保存される。PermGenも同様に表示可能です。
デモの様子
Copyright(c)2014 NTT Corp. All Rights Reserved. 25
FullGC ごとに取得して heapstats_snapshot.dat に
保存される。GC 時間も合わせて表示されます。
このままだとリークの根本原因は不明のまま。
デモの様子
Copyright(c)2014 NTT Corp. All Rights Reserved. 26
各クラスごとのサイズも時系列で表示される。これを
見ると青色([B)のクラスが明らかにリークしている。
デモの様子
Copyright(c)2014 NTT Corp. All Rights Reserved. 27
クラスの参照関係をサイズ順に確認できる。リーク原
因と思わしき[B(バイト配列) は Airクラス等と参照関係
があるので, これらのクラスで作成されている可能性
がある。サードパーティ製を含めて調査範囲を絞れる
デモの様子
Copyright(c)2014 NTT Corp. All Rights Reserved. 28
それ以外
Copyright(c)2014 NTT Corp. All Rights Reserved. 29
Copyright(c)2014 NTT Corp. All Rights Reserved. 30
Copyright(c)2014 NTT Corp. All Rights Reserved. 31
Question?

More Related Content

java.lang.OutOfMemoryError #渋谷java

Editor's Notes









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://www.slideshare.net/YujiKubota/javalangoutofmemoryerror-java

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy