blob: 9f2fea7178719204e608f45ef3325129ecb78f0d [file]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2019 IBM Corporation.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Andrew Johnson/IBM - initial API and implementation
-->
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd" >
<task id="task_batch" xml:lang="en-us">
<title>Batch mode</title>
<prolog>
<copyright>
<copyryear year=""></copyryear>
<copyrholder>
Copyright (c) 2019 IBM Corporation.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
</copyrholder>
</copyright>
</prolog>
<taskbody>
<context>
<p>Memory Analyzer can be operated in batch mode to process heap dumps
without user input.</p>
</context>
<steps>
<step>
<note>On Windows, use <keyword>.\mat\ParseHeapDump.bat</keyword> instead of <keyword>./mat/ParseHeapDump.sh</keyword></note>
<cmd>Run <cmdname>./mat/ParseHeapDump.sh</cmdname> <parmname>myheapdump.hprof</parmname> <parmname>org.eclipse.mat.api:suspects</parmname>
</cmd>
<choices>
<choice>For a simple suspects report use <parmname>org.eclipse.mat.api:suspects</parmname></choice>
<choice>For an overview report use <parmname>org.eclipse.mat.api:overview</parmname></choice>
<choice>For a report on memory usage by component use <parmname>org.eclipse.mat.api:top_components</parmname></choice>
<choice>To compare two heap dumps use<cmdname>./mat/ParseHeapDump.sh</cmdname> <parmname>myheapdump.hprof</parmname> <option>-snapshot2=</option><parmname>myheapdump2.hprof</parmname> <parmname>org.eclipse.mat.api:compare</parmname></choice>
</choices>
<stepresult>
<msgblock>
Task: Parsing myheapdump.hprof
[Task: Parsing .\Downloads\myheapdump.hprof
[
Subtask: Scanning .\Downloads\myheapdump.hprof
[.................
[INFO] Detected compressed references, because with uncompressed 64-bit references the array at 0x5c4bd4258 would overlap the array at 0x5c4bd4230
[....................
[INFO] Wrote threads call stacks to .\Downloads\myheapdump.threads
[....................
[INFO] Heap .\Downloads\myheapdump.hprof contains 116,716 objects
[....................
Subtask: Extracting objects from .\Downloads\myheapdump.hprof
[...................................................................................Task: Removing unreachable objects
[
Subtask: Searching for unreachable objects
[
Subtask: Marking reachable objects
[.
Subtask: Re-indexing objects
[..
Subtask: Re-indexing classes
[...
Subtask: Writing .\Downloads\myheapdump.idx.index
[....
Subtask: Writing .\Downloads\myheapdump.o2c.index
[.....
Subtask: Writing .\Downloads\myheapdump.a2s.index
[......
Subtask: Re-indexing outbound index
[.......
Subtask: Writing .\Downloads\myheapdump.inbound.index
[........
Subtask: Writing .\Downloads\myheapdump.outbound.index
[.........
Subtask: Writing .\Downloads\myheapdump.o2hprof.index
[.........Task: Calculating Dominator Tree
[
Subtask: Dominator Tree calculation
[
Subtask: Depth-first search
[....................
Subtask: Computing dominators
[..............................................
Subtask: Calculate retained sizes
[............................................................
Subtask: Create dominators index file
[................................................................................]
Subtask: Test 'Heap Dump Overview' of section 'System Overview'
[
Subtask: Test 'System Properties' of section 'System Overview'
[
Subtask: Extracting Key Value Pairs...
[
Subtask: Test 'Thread Overview' of section 'System Overview'
[
Subtask: Searching Threads...
[
Subtask: Test 'Top Consumers' of section 'System Overview'
[
Subtask: Creating histogram
[
Subtask: Grouping by package
[
Subtask: Test 'Biggest Objects (Overview)' of section 'Top Consumers'
[
Subtask: Test 'Biggest Objects' of section 'Top Consumers'
[
Subtask: Test 'Biggest Top-Level Dominator Classes (Overview)' of section 'Top Consumers'
[
Subtask: Test 'Biggest Top-Level Dominator Classes' of section 'Top Consumers'
[
Subtask: Test 'Biggest Top-Level Dominator Class Loaders (Overview)' of section 'Top Consumers'
[
Subtask: Test 'Biggest Top-Level Dominator Class Loaders' of section 'Top Consumers'
[
Subtask: Test 'Biggest Top-Level Dominator Packages' of section 'Top Consumers'
[
Subtask: Test 'Class Histogram' of section 'System Overview'
[
Subtask: Test 'Leaks' of section 'Leak Suspects'
[
Subtask: Finding problem suspects
[
Subtask: Searching suspicious single objects ...
[
Subtask: Searching suspicious groups of objects ...
[
Subtask: building histogram
[
Subtask: Preparing results
[
Subtask: building histogram
[
Subtask: building histogram
[
Subtask: Finding paths
[
Subtask: Test 'Overview' of section 'Leaks'
[
Subtask: Test 'Problem Suspect 1' of section 'Leaks'
[
Subtask: Test 'Description' of section 'Problem Suspect 1'
[
Subtask: Test 'Shortest Paths To the Accumulation Point' of section 'Problem Suspect 1'
[
Subtask: Test 'Shortest Paths To the Accumulation Point' of section 'Problem Suspect 1'
[
Subtask: Test 'Accumulated Objects in Dominator Tree' of section 'Problem Suspect 1'
[
Subtask: Test 'Accumulated Objects in Dominator Tree' of section 'Problem Suspect 1'
[
Subtask: Test 'Accumulated Objects by Class in Dominator Tree' of section 'Problem Suspect 1'
[
Subtask: Test 'Accumulated Objects by Class in Dominator Tree' of section 'Problem Suspect 1'
[
Subtask: Test 'All Accumulated Objects by Class' of section 'Problem Suspect 1'
[
Subtask: Test 'All Accumulated Objects by Class' of section 'Problem Suspect 1'
[]
</msgblock>
</stepresult>
</step>
<step>
<cmd>
Unzip the report <parmname>myheapdump_Leak_Suspects.zip</parmname>
</cmd>
</step>
<step>
<cmd>
View the <parmname>index.html</parmname>
</cmd>
</step>
</steps>
<result>
<p>The result is a HTML report.</p>
</result>
</taskbody>
</task>