0% found this document useful (0 votes)
34 views22 pages

Eclipse

Uploaded by

retrogradeview
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views22 pages

Eclipse

Uploaded by

retrogradeview
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Eclipse Memory Analyzer

… and other Java stuff

Jan Rehwaldt
1. Juli 2013
JVM Tool Interface

PROFILING IN THE JVM

1. Juli 2013 Jan Rehwaldt | Software Profiling 2


JVM Tool Interface
• Comprehensive interface for programming
and monitoring tools (≥ JDK 4; before: JVM PI + DI)

• Allows inspecting state and control execution


of applications run in the JVM
• Support for profiling, debugging, monitoring,
thread analysis, and coverage analysis tools, ...

1. Juli 2013 Jan Rehwaldt | Software Profiling 3


Profiling in the JVM
• JDK tools
– jmap, jinfo, jps, jstack, jconsole, jvisualvm, ...

• Comprehensive Profiling Tools


– VisualVM (free; included with ≥ JDK 6u7; lightwight)
– NetBeans profiler (free; embedded in IDE)
– YourKit (free for open-source projects)
– JProfiler (free for open-source projects)
– JProbe, Spring Insight, ... http://java-source.net/open-source/profilers

1. Juli 2013 Jan Rehwaldt | Software Profiling 6


Profiling in the JVM: VisualVM

1. Juli 2013 Jan Rehwaldt | Software Profiling 7


Profiling in the JVM: VisualVM

Profiling using instrumentation

Package-level restriction
1. Juli 2013 Jan Rehwaldt | Software Profiling 8
Profiling in the JVM: VisualVM
Statistics (JVM, GC, …)
Thread Monitoring
Sampling
Profiling
Tracer (BTrace)
Heap Dump Analysis

1. Juli 2013 Jan Rehwaldt | Software Profiling 9


ECLIPSE MEMORY ANALYZER

1. Juli 2013 Jan Rehwaldt | Software Profiling 10


Eclipse Memory Analyzer
• Show memory structure of Java programs
• Not while runtime, but generally based on
heap dumps
– often post-mortem
– hprof file generated by Oracle JVM (experimental format)
– phd file generated by IBM JVM

• Donated by SAP; Contributed to by IBM


1. Juli 2013 Jan Rehwaldt | Software Profiling 11
Eclipse Memory Analyzer – when?

1. Juli 2013 Jan Rehwaldt | Software Profiling 12


Heap dump
• jmap (included in JDK)
– jmap -dump:format=b <pid>
• Aquire heap dump (inside Eclipse Memory Analyzer; uses jmap)

• On OutOfMemory (flag: -XX:+HeapDumpOnOutOfMemoryError)


• On [Ctrl]+[Break] (flag: -XX:+HeapDumpOnCtrlBreak; ≥ JDK 5u7)

1. Juli 2013 Jan Rehwaldt | Software Profiling 13


Eclipse Memory Analyzer – when?
• Helps:
– Find memory wasting datastructures
– Indicate misuse of Java datatypes
– Find memory leaks
– Improve code by checking impacts of refactorings
by comparing heap dumps
– Understand memory consumption of code

1. Juli 2013 Jan Rehwaldt | Software Profiling 14


Eclipse Memory Analyzer – when not?
• Does not help:
– Threading issues, wrong / missing variable
assignments and other debuggable problems: No
debugging or stepping
– Where has an object been created?
– Analyze JVM‘s memory footprint.

1. Juli 2013 Jan Rehwaldt | Software Profiling 15


Demo: MAT Roundtrip
#ID Sex Culture Forename Surname Address …
1 M Unk Jan Rehwaldt Pusemukkel 4 …
2 M Eng James Albright …
3 F Rus Svetlana Dyakonova Newski Prospekt 106 …
4 M Est Epp Sibul Uus 20 …
5 F Rus Sveta D. Newskoi P. 106 …
6 Usa Mr. Nobel Prize NSA Headquarter …
7 J Usa Mr. Obama The White House …
8 Eng Jamie Albritt Unknown …
9 M Por Sebastian Serano Rosa Carreras …
10 F Por Ana Abílio Heaven 9 …
11 F Ger Jahn Rehfeld Pusem. 4a …
12 F Eng Rita Brown Trafalgar Square 13 …
13 M Unk AddressJanukowitz
Mirko Deduplication
Kirsi 6 …
… … … … … … …
1Mio. F Ukr Susanne Mirkowitsch Dom Spasibo ul.
1. Juli 2013 Jan Rehwaldt | Software Profiling 16
Demo: MAT Roundtrip
#ID Sex Culture Forename Surname Address …
1 M Unk Jan Rehwaldt Pusemukkel 4 …
2 M Eng James Albright …
3 F Rus Svetlana Dyakonova Newski Prospekt 106 …
4 M Est Epp Sibul Uus 20 …
5 F Rus Sveta D. Newskoi P. 106 …
6 Usa Mr. Nobel Prize NSA Headquarter …
7 J Usa Mr. Obama The White House …
8 Eng Jamie Albritt Unknown …
9 M Por Sebastian Serano Rosa Carreras …
10 F Por Ana Abílio Heaven 9 …
11 F Ger Jahn Rehfeld Pusem. 4a …
12 F Eng Rita Brown Trafalgar Square 13 …
13 M Unk Grouping
Mirko Approach
Janukowitz Kirsi 6 …
… … … … … … …
1Mio. F Ukr Susanne Mirkowitsch Dom Spasibo ul.
1. Juli 2013 Jan Rehwaldt | Software Profiling 17
Leak Suspect

1. Juli 2013 Jan Rehwaldt | Software Profiling 18


Dominator Tree

1. Juli 2013 Jan Rehwaldt | Software Profiling 19


Component Report

1. Juli 2013 Jan Rehwaldt | Software Profiling 20


Possible Memory Waste

1. Juli 2013 Jan Rehwaldt | Software Profiling 21


Object Query Language (OQL)

All GroupingPartitions
with a partition filled max. 20%

1. Juli 2013 Jan Rehwaldt | Software Profiling 22


Pros and Cons
• Pros
– Very (most?!) powerful and comprehensive
– Provides hints for memory wastes

• Cons
– Very complicated handling
– A lot of memory required

1. Juli 2013 Jan Rehwaldt | Software Profiling 23


Sources
• http://eclipsesource.com/blogs/2013/01/21/1
0-tips-for-using-the-eclipse-memory-analyzer/
• http://docs.oracle.com/javase/tutorial/java/n
utsandbolts/datatypes.html
• MAT Tutorials & Cheat Sheet
• Trail & Error

1. Juli 2013 Jan Rehwaldt | Software Profiling 24

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy