SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
Tools for Metaspace
Takahiro YAMADA
@yamadamn
!
May 18, 2014
-XX:+PrintGCDetails
• Print at Full GC.
• Summary at the end of the run.
!
2014-05-17T15:09:24.581-0900: 3.168: [Full GC (Metadata GC Threshold)
[PSYoungGen: 1371K->0K(36864K)] [ParOldGen: 10609K->8518K(64000K)] 11980K->8518K(100864K),
[Metaspace: 19037K->19037K(1067008K)], 0.0748560 secs]
[Times: user=0.22 sys=0.01, real=0.07 secs]
!
:
!
Heap
PSYoungGen total 64512K, used 51555K [0x00000007b5580000, 0x00000007ba680000,
0x00000007c0000000)
eden space 55296K, 93% used [0x00000007b5580000,0x00000007b87d8e48,0x00000007b8b80000)
from space 9216K, 0% used [0x00000007b9400000,0x00000007b9400000,0x00000007b9d00000)
to space 8704K, 0% used [0x00000007b8b80000,0x00000007b8b80000,0x00000007b9400000)
ParOldGen total 64000K, used 15253K [0x00000007a0000000, 0x00000007a3e80000,
0x00000007b5580000)
object space 64000K, 23% used [0x00000007a0000000,0x00000007a0ee5448,0x00000007a3e80000)
Metaspace used 39666K, capacity 44330K, committed 44584K, reserved 1087488K
class space used 5119K, capacity 6624K, committed 6696K, reserved 1048576K
MBeans (by JConsole)
MemoryManagerMXBean - MetaspaceManager
MemoryPoolMXBean - Metaspace, Compressed Class Space
jstat -gc
• Garbage-collected heap statistics.
$ jstat -gc 1489 1000
S0C S1C S0U S1U EC EU OC OU
MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
11776.0 9216.0 0.0 9193.6 52224.0 50389.1 64000.0 18622.9
44288.0 39431.8 6656.0 5092.0 19 0.144 2 0.169
0.313
11776.0 12800.0 8882.0 0.0 60928.0 767.5 64000.0 23397.3
51968.0 46211.0 7680.0 5964.2 20 0.172 2 0.169
0.340
!
MC: Metaspace capacity (KB). CCSC: Compressed Class Space capacity (KB)
MU: Metaspace utilization (KB). CCSU: Compressed Class Space used (KB)
!
Other options: -gcold, -gcoldcapacity, -gcmetacapacity, -gcutil
VM.native_memory
$ jcmd 3739 VM.native_memory
3739:
Native Memory Tracking:
Total: reserved=1998084KB, committed=368784KB
- Java Heap (reserved=524288KB, committed=170496KB)
(mmap: reserved=524288KB, committed=170496KB)
- Class (reserved=1105346KB, committed=63938KB)
(classes #9624)
(malloc=7618KB, #51808)
(mmap: reserved=1097728KB, committed=56320KB)
!
:
!
There is little gap with jstat - MC: Metaspace capacity . But I don t know...
!
• Please see the details in my slide Native Memory Tracking
http://www.slideshare.net/TakahiroYamada3/native-memory-tracking
VisualVM - Visual GC
jmap -clstats
• Print class loader statistics.
!
$ jmap -clstats 812
Attaching to process ID 812, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.5-b02
finding class loader instances ..done.
computing per loader stat ..done.
please wait.. computing liveness..............................................liveness analysis may be
inaccurate ...
class_loader classes bytes parent_loader alive? type
!
<bootstrap> 1995 3328826 null live <internal>
0x00000007a048d848 0 0 0x00000007a0046080 live org/jboss/modules/ModuleClassLoader@0x00000007c0061828
0x00000007a050d450 14 40112 0x00000007a0046080 live org/jboss/modules/ModuleClassLoader@0x00000007c0061828
0x00000007a0197618 103 184762 0x00000007a0046080 live org/jboss/modules/ModuleClassLoader@0x00000007c0061828
!
:
!
0x00000007a03da1c0 2 1793 0x00000007a0046080 live org/jboss/modules/ModuleClassLoader@0x00000007c0061828
0x00000007b5ceee30 1 1471 null dead sun/reflect/DelegatingClassLoader@0x00000007c0009870
!
total = 233 14805 28150534 N/A alive=223, dead=10 N/A
!
It s too slow...
GC.class_stats
• Provide statistics about Java class meta data.
• Requires -XX:+UnlockDiagnosticVMOptions.
!
$ jcmd 1776 GC.class_stats
1776:
Index Super InstBytes KlassBytes annotations CpAll MethodCount Bytecodes MethodAll
ROAll RWAll Total ClassName
1 -1 6755096 480 0 0 0 0 0
24 576 600 [B
2 -1 4966392 480 0 0 0 0 0
24 576 600 [C
3 52 2308640 560 0 1296 7 149 1400
880 2680 3560 java.util.HashMap$Node
!
:
!
25921608 5081848 39904 15241688 74884 3068987 17402760
12622240 27566192 40188432 Total
64.5% 12.6% 0.1% 37.9% - 7.6% 43.3%
31.4% 68.6% 100.0%
Index Super InstBytes KlassBytes annotations CpAll MethodCount Bytecodes MethodAll
ROAll RWAll Total ClassName
!
Options: -all, -csv, -help
[bonus] GC.class_stats
by Java Mission Control
Summary
• General
• -XX:+PrintGCDetails
• MBeans
• MemoryManagerMXBean - MetaspaceManager
• MemoryPoolMXBean - Metaspace, Compressed Class Space
• jstat -gc, Visual GC
• (VM.native_memory)
!
• By class loader
• jmap -clstats
• By class
• GC.class_stats
Tools for Metaspace
Thank you!

Contenu connexe

Tendances

[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
de:code 2017
 

Tendances (20)

Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 
Change Data Capture
Change Data CaptureChange Data Capture
Change Data Capture
 
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesign
 
Massive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeMassive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta Lake
 
Delta Lake with Synapse dataflow
Delta Lake with Synapse dataflowDelta Lake with Synapse dataflow
Delta Lake with Synapse dataflow
 
Apache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the CoversApache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the Covers
 
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
 
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...
 
dbt Cloud intro 日本語 202206
dbt Cloud intro 日本語 202206dbt Cloud intro 日本語 202206
dbt Cloud intro 日本語 202206
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
MapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知るMapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知る
 
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
 
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
 
Delta lakesummary
Delta lakesummaryDelta lakesummary
Delta lakesummary
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
 
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 

En vedette

第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える
chonaso
 
Java memory presentation
Java memory presentationJava memory presentation
Java memory presentation
Yury Bubnov
 
ClassLoader Leak Patterns
ClassLoader Leak PatternsClassLoader Leak Patterns
ClassLoader Leak Patterns
nekop
 

En vedette (20)

Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8
 
Native Memory Tracking
Native Memory TrackingNative Memory Tracking
Native Memory Tracking
 
Metaspace
MetaspaceMetaspace
Metaspace
 
第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える
 
ClassLoader Leaks
ClassLoader LeaksClassLoader Leaks
ClassLoader Leaks
 
Different between .nil?, .empty?, .bank?, .present? and .any?
Different between .nil?, .empty?, .bank?, .present? and .any?Different between .nil?, .empty?, .bank?, .present? and .any?
Different between .nil?, .empty?, .bank?, .present? and .any?
 
java memory management & gc
java memory management & gcjava memory management & gc
java memory management & gc
 
Java memory presentation
Java memory presentationJava memory presentation
Java memory presentation
 
Java memory model
Java memory modelJava memory model
Java memory model
 
The Java Memory Model
The Java Memory ModelThe Java Memory Model
The Java Memory Model
 
新版 OutOfMemoryErrorを知る
新版 OutOfMemoryErrorを知る新版 OutOfMemoryErrorを知る
新版 OutOfMemoryErrorを知る
 
The Java memory model made easy
The Java memory model made easyThe Java memory model made easy
The Java memory model made easy
 
JVM のいろはにほ #javajo
JVM のいろはにほ #javajoJVM のいろはにほ #javajo
JVM のいろはにほ #javajo
 
java.lang.OutOfMemoryError #渋谷java
java.lang.OutOfMemoryError #渋谷javajava.lang.OutOfMemoryError #渋谷java
java.lang.OutOfMemoryError #渋谷java
 
JVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark applicationJVM and OS Tuning for accelerating Spark application
JVM and OS Tuning for accelerating Spark application
 
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始めHadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
 
Concurrent Mark-Sweep Garbage Collection #jjug_ccc
Concurrent Mark-Sweep Garbage Collection #jjug_cccConcurrent Mark-Sweep Garbage Collection #jjug_ccc
Concurrent Mark-Sweep Garbage Collection #jjug_ccc
 
Creation human - Amazing PowerPoint
Creation human - Amazing PowerPointCreation human - Amazing PowerPoint
Creation human - Amazing PowerPoint
 
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所
 
ClassLoader Leak Patterns
ClassLoader Leak PatternsClassLoader Leak Patterns
ClassLoader Leak Patterns
 

Similaire à Tools for Metaspace

Am I reading GC logs Correctly?
Am I reading GC logs Correctly?Am I reading GC logs Correctly?
Am I reading GC logs Correctly?
Tier1 App
 
JVM and Garbage Collection Tuning
JVM and Garbage Collection TuningJVM and Garbage Collection Tuning
JVM and Garbage Collection Tuning
Kai Koenig
 

Similaire à Tools for Metaspace (20)

Am I reading GC logs Correctly?
Am I reading GC logs Correctly?Am I reading GC logs Correctly?
Am I reading GC logs Correctly?
 
Become a Java GC Hero - All Day Devops
Become a Java GC Hero - All Day DevopsBecome a Java GC Hero - All Day Devops
Become a Java GC Hero - All Day Devops
 
YOW2020 Linux Systems Performance
YOW2020 Linux Systems PerformanceYOW2020 Linux Systems Performance
YOW2020 Linux Systems Performance
 
Troubleshooting Memory Problems in Java Applications
Troubleshooting Memory Problems in Java ApplicationsTroubleshooting Memory Problems in Java Applications
Troubleshooting Memory Problems in Java Applications
 
JVM and Garbage Collection Tuning
JVM and Garbage Collection TuningJVM and Garbage Collection Tuning
JVM and Garbage Collection Tuning
 
Gc crash course (1)
Gc crash course (1)Gc crash course (1)
Gc crash course (1)
 
Performance tuning jvm
Performance tuning jvmPerformance tuning jvm
Performance tuning jvm
 
Jud con presentation_brazil
Jud con presentation_brazilJud con presentation_brazil
Jud con presentation_brazil
 
GC Tuning & Troubleshooting Crash Course
GC Tuning & Troubleshooting Crash CourseGC Tuning & Troubleshooting Crash Course
GC Tuning & Troubleshooting Crash Course
 
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
 
Become a Garbage Collection Hero
Become a Garbage Collection HeroBecome a Garbage Collection Hero
Become a Garbage Collection Hero
 
Javaday 2022 - Remèdes aux oomkill, warm-ups, et lenteurs pour des conteneur...
Javaday 2022 - Remèdes aux oomkill, warm-ups, et lenteurs pour des conteneur...Javaday 2022 - Remèdes aux oomkill, warm-ups, et lenteurs pour des conteneur...
Javaday 2022 - Remèdes aux oomkill, warm-ups, et lenteurs pour des conteneur...
 
Become a Java GC Hero - ConFoo Conference
Become a Java GC Hero - ConFoo ConferenceBecome a Java GC Hero - ConFoo Conference
Become a Java GC Hero - ConFoo Conference
 
JVM memory management & Diagnostics
JVM memory management & DiagnosticsJVM memory management & Diagnostics
JVM memory management & Diagnostics
 
Cassandra Day SV 2014: Basic Operations with Apache Cassandra
Cassandra Day SV 2014: Basic Operations with Apache CassandraCassandra Day SV 2014: Basic Operations with Apache Cassandra
Cassandra Day SV 2014: Basic Operations with Apache Cassandra
 
Taming Java Garbage Collector
Taming Java Garbage CollectorTaming Java Garbage Collector
Taming Java Garbage Collector
 
G1 collector and tuning and Cassandra
G1 collector and tuning and CassandraG1 collector and tuning and Cassandra
G1 collector and tuning and Cassandra
 
ioDrive de benchmarking 2011 1209_zem_distribution
ioDrive de benchmarking 2011 1209_zem_distributionioDrive de benchmarking 2011 1209_zem_distribution
ioDrive de benchmarking 2011 1209_zem_distribution
 
Top-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
 
this-is-garbage-talk-2022.pptx
this-is-garbage-talk-2022.pptxthis-is-garbage-talk-2022.pptx
this-is-garbage-talk-2022.pptx
 

Plus de Takahiro YAMADA

Plus de Takahiro YAMADA (7)

これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
 
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoOpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
 
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
 
WebSocket of WebLogic
WebSocket of WebLogicWebSocket of WebLogic
WebSocket of WebLogic
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Tools for Metaspace

  • 1. Tools for Metaspace Takahiro YAMADA @yamadamn ! May 18, 2014
  • 2. -XX:+PrintGCDetails • Print at Full GC. • Summary at the end of the run. ! 2014-05-17T15:09:24.581-0900: 3.168: [Full GC (Metadata GC Threshold) [PSYoungGen: 1371K->0K(36864K)] [ParOldGen: 10609K->8518K(64000K)] 11980K->8518K(100864K), [Metaspace: 19037K->19037K(1067008K)], 0.0748560 secs] [Times: user=0.22 sys=0.01, real=0.07 secs] ! : ! Heap PSYoungGen total 64512K, used 51555K [0x00000007b5580000, 0x00000007ba680000, 0x00000007c0000000) eden space 55296K, 93% used [0x00000007b5580000,0x00000007b87d8e48,0x00000007b8b80000) from space 9216K, 0% used [0x00000007b9400000,0x00000007b9400000,0x00000007b9d00000) to space 8704K, 0% used [0x00000007b8b80000,0x00000007b8b80000,0x00000007b9400000) ParOldGen total 64000K, used 15253K [0x00000007a0000000, 0x00000007a3e80000, 0x00000007b5580000) object space 64000K, 23% used [0x00000007a0000000,0x00000007a0ee5448,0x00000007a3e80000) Metaspace used 39666K, capacity 44330K, committed 44584K, reserved 1087488K class space used 5119K, capacity 6624K, committed 6696K, reserved 1048576K
  • 3. MBeans (by JConsole) MemoryManagerMXBean - MetaspaceManager MemoryPoolMXBean - Metaspace, Compressed Class Space
  • 4. jstat -gc • Garbage-collected heap statistics. $ jstat -gc 1489 1000 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 11776.0 9216.0 0.0 9193.6 52224.0 50389.1 64000.0 18622.9 44288.0 39431.8 6656.0 5092.0 19 0.144 2 0.169 0.313 11776.0 12800.0 8882.0 0.0 60928.0 767.5 64000.0 23397.3 51968.0 46211.0 7680.0 5964.2 20 0.172 2 0.169 0.340 ! MC: Metaspace capacity (KB). CCSC: Compressed Class Space capacity (KB) MU: Metaspace utilization (KB). CCSU: Compressed Class Space used (KB) ! Other options: -gcold, -gcoldcapacity, -gcmetacapacity, -gcutil
  • 5. VM.native_memory $ jcmd 3739 VM.native_memory 3739: Native Memory Tracking: Total: reserved=1998084KB, committed=368784KB - Java Heap (reserved=524288KB, committed=170496KB) (mmap: reserved=524288KB, committed=170496KB) - Class (reserved=1105346KB, committed=63938KB) (classes #9624) (malloc=7618KB, #51808) (mmap: reserved=1097728KB, committed=56320KB) ! : ! There is little gap with jstat - MC: Metaspace capacity . But I don t know... ! • Please see the details in my slide Native Memory Tracking http://www.slideshare.net/TakahiroYamada3/native-memory-tracking
  • 7. jmap -clstats • Print class loader statistics. ! $ jmap -clstats 812 Attaching to process ID 812, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.5-b02 finding class loader instances ..done. computing per loader stat ..done. please wait.. computing liveness..............................................liveness analysis may be inaccurate ... class_loader classes bytes parent_loader alive? type ! <bootstrap> 1995 3328826 null live <internal> 0x00000007a048d848 0 0 0x00000007a0046080 live org/jboss/modules/ModuleClassLoader@0x00000007c0061828 0x00000007a050d450 14 40112 0x00000007a0046080 live org/jboss/modules/ModuleClassLoader@0x00000007c0061828 0x00000007a0197618 103 184762 0x00000007a0046080 live org/jboss/modules/ModuleClassLoader@0x00000007c0061828 ! : ! 0x00000007a03da1c0 2 1793 0x00000007a0046080 live org/jboss/modules/ModuleClassLoader@0x00000007c0061828 0x00000007b5ceee30 1 1471 null dead sun/reflect/DelegatingClassLoader@0x00000007c0009870 ! total = 233 14805 28150534 N/A alive=223, dead=10 N/A ! It s too slow...
  • 8. GC.class_stats • Provide statistics about Java class meta data. • Requires -XX:+UnlockDiagnosticVMOptions. ! $ jcmd 1776 GC.class_stats 1776: Index Super InstBytes KlassBytes annotations CpAll MethodCount Bytecodes MethodAll ROAll RWAll Total ClassName 1 -1 6755096 480 0 0 0 0 0 24 576 600 [B 2 -1 4966392 480 0 0 0 0 0 24 576 600 [C 3 52 2308640 560 0 1296 7 149 1400 880 2680 3560 java.util.HashMap$Node ! : ! 25921608 5081848 39904 15241688 74884 3068987 17402760 12622240 27566192 40188432 Total 64.5% 12.6% 0.1% 37.9% - 7.6% 43.3% 31.4% 68.6% 100.0% Index Super InstBytes KlassBytes annotations CpAll MethodCount Bytecodes MethodAll ROAll RWAll Total ClassName ! Options: -all, -csv, -help
  • 10. Summary • General • -XX:+PrintGCDetails • MBeans • MemoryManagerMXBean - MetaspaceManager • MemoryPoolMXBean - Metaspace, Compressed Class Space • jstat -gc, Visual GC • (VM.native_memory) ! • By class loader • jmap -clstats • By class • GC.class_stats