Batch mode

Memory Analyzer can be operated in batch mode to process heap dumps without user input.

  1. Note: On Windows, use .\mat\ParseHeapDump.bat instead of ./mat/ParseHeapDump.sh
    Run ./mat/ParseHeapDump.sh myheapdump.hprof org.eclipse.mat.api:suspects
    • For a simple suspects report use org.eclipse.mat.api:suspects
    • For an overview report use org.eclipse.mat.api:overview
    • For a report on memory usage by component use org.eclipse.mat.api:top_components
    • To compare two heap dumps use./mat/ParseHeapDump.sh myheapdump.hprof -snapshot2=myheapdump2.hprof org.eclipse.mat.api:compare
    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'
    []
    					
  2. Unzip the report myheapdump_Leak_Suspects.zip
  3. View the index.html

The result is a HTML report.