IBM Support

Garbage Collection and Memory Visualizer

How To


Summary

The IBM Monitoring and Diagnostic Tools - Garbage Collection and Memory Visualizer (GCMV) tool analyzes verbose garbage collection to investigate Java performance and OutOfMemoryError issues.

Steps

Verbose garbage collection generally has an overhead of less than 1% and we recommend always running with it in production. WebSphere Application Server traditional version 9 creates verbosegc files by default. For WebSphere Application Server traditional version 8.5, we recommend enabling verbosegc. Similarly, for WebSphere Liberty, we recommend enabling verbosegc.
  1. Ensure Java 17 is on your PATH; for example, IBM Semeru Java 17.
  2. Download:
    1. Windows x86_64/amd64
    2. macOS x86_64/amd64
    3. macOS arm64/aarch64
    4. Linux x86_64/amd64
    5. Linux arm64/aarch64
    6. Linux POWER/ppc64le
    7. Eclipse archived update site
  3. For macOS, before extracting, open Terminal and run:
    xattr -d com.apple.quarantine *
  4. Start GCMV by executing gcmv.exe (Windows), IBM Garbage Collection and Memory Visualizer.app (macOS), or gcmv (Linux)

Additional Information

Revision History
  • 9 April 2024:
    • Add "Warnings" plot (under VGC) and add a recommendation if there are more than 0 warnings
    • Add "Heap fix-up time" plot (under VGC Pause) for heap-fixup elements related to class unloading
    • Don't calculate fragmentation for balanced gcpolicy
  • 10 October 2023:
    • Remove 'Global collections - Total amount tenured' calculation
    • Upgrade to Eclipse 2023-09
  • 28 August 2023:
    • Fix error: Cannot invoke "com.ibm.java.diagnostics.visualizer.data.DataPoint.getRawY()" because "tloa" is null
    • Upgrade to Eclipse 2023-06
  • 13 June 2023:
    • Upgrade to Eclipse 2023-03 (which requires Java 17)
    • Sign JARs and Windows EXEs
    • Add Japanese and Chinese translations
    • Add G1GC safepoint times and humongous allocations
    • Handle new G1GC format for GC Pause times
    • Do not record memory usage during balanced global mark phase
  • 6 July 2022: Upgrade to Eclipse 2022-06 (which requires Java 11)
  • 1 June 2022: Add "Locked without a collection" series for exclusive access acquisitions without a collection. Also add this into the "Proportion of time spent in garbage collection pauses (%)" calculation.
  • 14 March 2022: Combine RCP and headless builds
  • 22 February 2022: Handle more types of G1GC relative timestamps
  • 1 February 2022: Account for new verbosegc concurrent elements and bump version to 2.8.7
  • 12 January 2022: Add more HotSpot G1 metrics (in the VGC category)
  • 29 December 2021: First version
These downloads are provided as is without any warranty or support. For any issues, contact Kevin Grigorenko (kevin.grigorenko@us.ibm.com) and we'll try to resolve any issues as time permits.

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"ARM Category":[{"code":"a8m3p000000F7ylAAC","label":"IBM WebSphere Liberty-All Platforms-\u003ELiberty Profile-\u003EHang Performance CPU"},{"code":"a8m50000000CdBVAA0","label":"WebSphere Application Server traditional-All Platforms-\u003EHang Performance CPU"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"},{"Type":"MASTER","Line of Business":{"code":"LOB08","label":"Cognitive Systems"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG9NGS","label":"IBM Java"},"ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
09 April 2024

UID

ibm16537530