Skip to content

Latest commit

ย 

History

History
1072 lines (812 loc) ยท 48.9 KB

File metadata and controls

1072 lines (812 loc) ยท 48.9 KB

Argus CLI Command Reference

Complete reference for all 50 Argus CLI commands with usage examples and actual output.

Global Options

--source=auto|agent|jdk   Data source (default: auto)
--no-color                Disable ANSI colors
--lang=en|ko|ja|zh        Output language
--format=table|json       Output format (default: table)
--host HOST               Agent host (default: localhost)
--port PORT               Agent port (default: 9202)
--help, -h                Show help
--version, -v             Show version

argus ps

Lists all running JVM processes on the host.

$ argus ps
 argus ps
 Lists all running Java Virtual Machine processes on this host.

โ•ญโ”€ JVM Processes โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ PID       Main Class                                  Arguments              โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚
โ”‚ 56900     /Users/heemangkim/.argus/argus-cli.jar      ps                     โ”‚
โ”‚ 39113     org.gradle.launcher.daemon.bootstrap.Gradโ€ฆ  8.14                   โ”‚
โ”‚ 617       com.intellij.idea.Main                                             โ”‚
โ”‚ 37278     org.gradle.launcher.daemon.bootstrap.Gradโ€ฆ  8.14                   โ”‚
โ”‚                                                                              โ”‚
โ”‚ 4 process(es) found                                                          โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus histo <pid>

Shows heap object histogram โ€” count and size of each class in memory.

$ argus histo 39113 --top 5
 argus histo
 Analyzes heap memory objects. Count = live instances, Size = total bytes occupied.

โ•ญโ”€ Heap Histogram โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚    #  Class                                                  Count      Size โ”‚
โ”‚ โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚
โ”‚    1  byte[]                                               111,050       16M โ”‚
โ”‚    2  java.lang.String                                     107,249        2M โ”‚
โ”‚    3  java.lang.Class                                       18,914        2M โ”‚
โ”‚    4  ConcurrentHashMap.Node                                62,917        2M โ”‚
โ”‚    5  java.lang.Object[]                                    25,496        1M โ”‚
โ”‚                                                                              โ”‚
โ”‚ Total: 718.6K objects ยท 40M                                                  โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Options:

  • --top N โ€” Show top N classes (default: 20)
  • --source=jdk|agent โ€” Force data source
  • --format=json โ€” JSON output

argus threads <pid>

Summarizes thread states with distribution bars and deadlock detection.

$ argus threads 39113
 argus threads
 Summarizes thread states. BLOCKED threads may indicate lock contention.

โ•ญโ”€ Thread Summary โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Total: 30    Virtual: 0    Platform: 30                                      โ”‚
โ”‚                                                                              โ”‚
โ”‚ RUNNABLE        โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘    11  ( 37%)                               โ”‚
โ”‚ WAITING         โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘    14  ( 47%)                               โ”‚
โ”‚ TIMED_WAITING   โ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘     5  ( 17%)                               โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus gc <pid>

Shows GC statistics including heap usage, pause time, and collector info.

$ argus gc 39113
 argus gc
 Shows garbage collection activity. High overhead (>5%) may impact application performance.

โ•ญโ”€ GC Statistics โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Heap     [โ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]  40M / 256M  (16%)                               โ”‚
โ”‚ Overhead [โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]  0.0%                                            โ”‚
โ”‚                                                                              โ”‚
โ”‚ Total Events: 0    Pause Time: 0ms                                           โ”‚
โ”‚                                                                              โ”‚
โ”‚ Collectors:                                                                  โ”‚
โ”‚   g1 gc                      0 events    0ms                                 โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus gcutil <pid>

Shows GC generation utilization like jstat -gcutil with progress bars.

$ argus gcutil 39113
 argus gcutil
 Monitors GC generation utilization. S0/S1 = Survivor, E = Eden, O = Old, M = Metaspace, CCS = Compressed Class.

โ•ญโ”€ GC Utilization โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ S0      S1      Eden    Old     Meta    CCS     YGC    FGC    GCT            โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€       โ”‚
โ”‚ 0.0%    0.0%    0.0%    41.8%   96.5%   87.1%   18     2      10.000         โ”‚
โ”‚                                                                              โ”‚
โ”‚   S0    [โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]    0.0%                                       โ”‚
โ”‚   S1    [โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]    0.0%                                       โ”‚
โ”‚   Eden  [โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]    0.0%                                       โ”‚
โ”‚   Old   [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]   41.8%                                       โ”‚
โ”‚   Meta  [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘]   96.5%                                       โ”‚
โ”‚   CCS   [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘]   87.1%                                       โ”‚
โ”‚                                                                              โ”‚
โ”‚ YGC: 18 (0.163s)    FGC: 2 (0.215s)    Total: 10.000s                        โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Options:

  • --watch N โ€” Continuous monitoring every N seconds

argus heap <pid>

Shows detailed heap memory usage with exact byte counts, free memory, GC summary, and per-space breakdown.

$ argus heap 39113
 argus heap
 Shows heap memory regions. High usage in Old Gen may indicate memory pressure.

โ•ญโ”€ Heap Memory โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Used     [โ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]  40M / 256M  (16%)                               โ”‚
โ”‚                                                                              โ”‚
โ”‚   Used:                40M      (41,976,832 bytes)                           โ”‚
โ”‚   Committed:          256M     (268,435,456 bytes)                           โ”‚
โ”‚   Max:                256M            (15.6% used)                           โ”‚
โ”‚   Free:               216M                                                   โ”‚
โ”‚                                                                              โ”‚
โ”‚   Heap Spaces                                                                โ”‚
โ”‚   class space   [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘]     11M /    12M  ( 87%)                        โ”‚
โ”‚   Metaspace     [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ]     80M /    83M  ( 97%) โš                       โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus sysprops <pid>

Displays JVM system properties with optional filter.

$ argus sysprops 39113 --filter=java.version
 argus sysprops
 Displays JVM system properties (-D flags and runtime defaults). Use --filter to search.

โ•ญโ”€ System Properties โ”€โ”€ pid:39113 โ”€โ”€ source:jdk โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Key                                     Value                                โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€       โ”‚
โ”‚ java.version                            21.0.9                               โ”‚
โ”‚ java.version.date                       2025-10-21                           โ”‚
โ”‚                                                                              โ”‚
โ”‚ Total: 55 properties  filter: "java.version"  shown: 2                       โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Options:

  • --filter=<pattern> โ€” Case-insensitive search on key or value

argus vmflag <pid>

Shows non-default VM flags with optional filter. Supports runtime flag modification.

$ argus vmflag 39113 --filter=Heap
 argus vmflag
 Shows all non-default VM flags. Use --set to modify manageable flags at runtime.

โ•ญโ”€ VM Flags โ”€โ”€ pid:39113 โ”€โ”€ source:jdk โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Flag                                        Value                            โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€       โ”‚
โ”‚ G1HeapRegionSize                            1048576                          โ”‚
โ”‚ HeapDumpOnOutOfMemoryError                  true                             โ”‚
โ”‚ InitialHeapSize                             268435456                        โ”‚
โ”‚ MaxHeapSize                                 536870912                        โ”‚
โ”‚ MinHeapDeltaBytes                           1048576                          โ”‚
โ”‚ MinHeapSize                                 268435456                        โ”‚
โ”‚ NonNMethodCodeHeapSize                      5839564                          โ”‚
โ”‚ NonProfiledCodeHeapSize                     122909338                        โ”‚
โ”‚ ProfiledCodeHeapSize                        122909338                        โ”‚
โ”‚ SoftMaxHeapSize                             536870912                        โ”‚
โ”‚                                                                              โ”‚
โ”‚ Total: 28 flags  filter: "Heap"  shown: 10                                   โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Options:

  • --filter=<pattern> โ€” Search flag names
  • --set FlagName=value โ€” Modify a manageable flag at runtime
  • --set +FlagName / --set -FlagName โ€” Toggle boolean flags

argus nmt <pid>

Shows native memory tracking by category. Requires the target JVM to be started with -XX:NativeMemoryTracking=summary.

$ argus nmt 39113
 argus nmt
 Shows native memory usage by category. Requires -XX:NativeMemoryTracking=summary on target JVM.

โ•ญโ”€ Native Memory โ”€โ”€ pid:39113 โ”€โ”€ source:jdk โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ NMT not enabled on this JVM.                                                 โ”‚
โ”‚ Start the JVM with: -XX:NativeMemoryTracking=summary                         โ”‚
โ”‚                                                                              โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

To enable NMT:

java -XX:NativeMemoryTracking=summary -jar your-app.jar

argus classloader <pid>

Shows the class loader hierarchy and loaded class counts per loader.

$ argus classloader 39113
 argus classloader
 Shows class loader hierarchy and loaded class counts per loader.

โ•ญโ”€ Class Loaders โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ <bootstrap>                                                                  โ”‚
โ”‚ reflect.DelegatingClassLoader                                                โ”‚
โ”‚ ClassLoaders.PlatformClassLoader                                             โ”‚
โ”‚ ClassLoaders.AppClassLoader                                                  โ”‚
โ”‚ classloader.VisitableURLClassLoader                                          โ”‚
โ”‚ classloader.VisitableURLClassLoader                                          โ”‚
โ”‚ reflect.DelegatingClassLoader                                                โ”‚
โ”‚ initialization.MixInLegacyTypesClassLoader                                   โ”‚
โ”‚ classloader.FilteringClassLoader                                             โ”‚
โ”‚ classloader.VisitableURLClassLoader                                          โ”‚
โ”‚ classloader.FilteringClassLoader                                             โ”‚
โ”‚ classloader.CachingClassLoader                                               โ”‚
โ”‚ classloader.VisitableURLClassLoader                                          โ”‚
โ”‚ VisitableURLClassLoader.InstrumentingVisitableURLClassLoader                 โ”‚
โ”‚ classloader.VisitableURLClassLoader                                          โ”‚
โ”‚ reflect.DelegatingClassLoader                                                โ”‚
โ”‚                                                                              โ”‚
โ”‚ Total loaded classes: 0                                                      โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus jfr <pid> <subcommand>

Controls JDK Flight Recorder โ€” start, stop, check, and dump recordings.

$ argus jfr 39113 check
 argus jfr check
 Controls JDK Flight Recorder: start, stop, check, and dump recordings.

โ•ญโ”€ Flight Recorder โ”€โ”€ pid:39113 โ”€โ”€ cmd:check โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Status:   ok                                                                 โ”‚
โ”‚                                                                              โ”‚
โ”‚ 39113:                                                                       โ”‚
โ”‚                                                                              โ”‚
โ”‚ 39113:                                                                       โ”‚
โ”‚ No available recordings.                                                     โ”‚
โ”‚ Use jcmd 39113 JFR.start to start a recording.                               โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Subcommands:

  • argus jfr <pid> start โ€” Start recording (options: --duration=60, --file=output.jfr)
  • argus jfr <pid> stop โ€” Stop active recording
  • argus jfr <pid> check โ€” Show recording status
  • argus jfr <pid> dump โ€” Dump recording to file (option: --file=dump.jfr)

argus info <pid>

Displays JVM runtime information, version, vendor, uptime, and VM flags.

$ argus info 39113
 argus info
 Displays JVM runtime details and configuration flags.

โ•ญโ”€ JVM Information โ”€โ”€ pid:39113 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ VM Name     39113:                                                           โ”‚
โ”‚ Version     OpenJDK 64-Bit Server VM version 21.0.9                          โ”‚
โ”‚ Vendor      Homebrew                                                         โ”‚
โ”‚ Uptime      57m 3s                                                           โ”‚
โ”‚ PID         39113                                                            โ”‚
โ”‚                                                                              โ”‚
โ”‚ VM Flags:                                                                    โ”‚
โ”‚   -XX:CICompilerCount=4                                                      โ”‚
โ”‚   -XX:CompressedClassSpaceSize=335544320                                     โ”‚
โ”‚   -XX:ConcGCThreads=2                                                        โ”‚
โ”‚   -XX:G1ConcRefinementThreads=9                                              โ”‚
โ”‚   -XX:G1EagerReclaimRemSetThreshold=12                                       โ”‚
โ”‚   -XX:G1HeapRegionSize=1048576                                               โ”‚
โ”‚   -XX:G1RemSetArrayOfCardsEntries=12                                         โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus profile <pid>

CPU, allocation, lock, and wall-clock profiling powered by async-profiler. Auto-downloads the native binary on first use.

$ argus profile 29286 --duration 3
 argus profile
 Profiling with async-profiler. Shows hottest methods by sample count.

โ•ญโ”€ Profile Results โ”€โ”€ pid:29286 โ”€โ”€ cpu 3s โ”€โ”€ 3 samples โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚   #   Method                                           Samples        %      โ”‚
โ”‚   โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€   โ”‚
โ”‚   1   __psynch_cvwait                                        2    66.7%  โ–ˆโ–ˆโ–ˆ โ”‚
โ”‚   2   std::__1::basic_ostream<char, std::__1::chaโ€ฆ           1    33.3%  โ–ˆ   โ”‚
โ”‚                                                                              โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Options:

  • --type cpu|alloc|lock|wall โ€” Profiling type (default: cpu)
  • --duration N โ€” Duration in seconds (default: 30)
  • --flame โ€” Generate flame graph HTML and open in browser
  • --file NAME โ€” Output file for flame graph
  • --top N โ€” Show top N methods (default: 20)
  • --format=json โ€” JSON output

Flame graph example:

$ argus profile 12345 --flame --duration 60
# Generates HTML flame graph and opens in browser

argus diff <pid> [interval]

Compares two heap snapshots to detect memory growth โ€” useful for memory leak investigation.

$ argus diff 39113 5 --top 5

Takes a first snapshot, waits for the specified interval (default 10s), takes a second snapshot, and shows classes that grew.

Options:

  • Second argument: interval in seconds (default: 10)
  • --top N โ€” Show top N growing classes (default: 20)

argus report <pid>

Comprehensive single-view diagnostic report collecting all available JVM metrics.

$ argus report 39113
 argus report
 Comprehensive JVM diagnostic report. Collects all available metrics in one view.

โ•ญโ”€ JVM Report โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚   โ–ธ JVM Info                                                                 โ”‚
โ”‚     39113: OpenJDK 64-Bit Server VM version 21.0.9    Uptime: 57m 5s         โ”‚
โ”‚                                                                              โ”‚
โ”‚   โ–ธ Memory                                                                   โ”‚
โ”‚     Heap    [โ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]  41M / 256M  (16%)                            โ”‚
โ”‚     Free    215M                                                             โ”‚
โ”‚                                                                              โ”‚
โ”‚   โ–ธ GC                                                                       โ”‚
โ”‚     S0: 0%  S1: 0%  Eden: 0%  Old: 42%  Meta: 97%                            โ”‚
โ”‚                                                                              โ”‚
โ”‚   โ–ธ Threads                                                                  โ”‚
โ”‚     Total: 29    Virtual: 0    Platform: 29                                  โ”‚
โ”‚     TIMED_WAITING: 5  WAITING: 13  RUNNABLE: 11                              โ”‚
โ”‚                                                                              โ”‚
โ”‚   โ–ธ Top Heap Objects                                                         โ”‚
โ”‚     1. byte[]                111.0K instances   16M                          โ”‚
โ”‚     2. java.lang.String      107.2K instances   2M                           โ”‚
โ”‚     3. java.lang.Class       18.9K instances   2M                            โ”‚
โ”‚                                                                              โ”‚
โ”‚   โ–ธ Warnings                                                                 โ”‚
โ”‚     โš  Metaspace at 97% โ€” near limit                                          โ”‚
โ”‚                                                                              โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Auto-detected warnings:

  • Heap usage > 85%
  • Old Gen > 85%
  • Metaspace > 90%
  • GC overhead > 2%
  • BLOCKED threads > 10%

argus top

Real-time terminal monitoring dashboard (requires Argus agent attached to the target JVM).

$ argus top
$ argus top --host 192.168.1.100 --port 9202 --interval 2

Options:

  • --host HOST โ€” Argus agent host (default: localhost)
  • --port PORT โ€” Argus agent port (default: 9202)
  • --interval N โ€” Refresh interval in seconds (default: 1)

argus heapdump <pid>

Generates a heap dump (.hprof) file. Shows a Stop-The-World warning before proceeding.

$ argus heapdump 39113

Options:

  • --file=<path> โ€” Output file path
  • --live โ€” Live objects only (default)
  • --all โ€” All objects including garbage
  • --yes โ€” Skip confirmation prompt

argus deadlock <pid>

Detects Java-level deadlocks by analyzing thread dumps. Shows lock chains, held/waiting locks, and stack traces.

$ argus deadlock 39113
 argus deadlock
 Analyzes thread dumps to detect Java-level deadlocks. Shows lock chains and stack traces.

โ•ญโ”€ Deadlock Detection โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ โœ” No deadlocks detected                                                      โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

When deadlocks are found, shows:

  • Thread names and states
  • Lock addresses and classes (waiting/holding)
  • Top stack frame for each thread

argus env <pid>

Shows JVM launch environment: command line, java home, classpath, and VM arguments.

$ argus env 39113
 argus env
 Shows JVM launch environment: command line, java home, classpath, and VM arguments.

โ•ญโ”€ JVM Environment โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Command Line                                                                 โ”‚
โ”‚   com.example.MyApp --port 8080                                              โ”‚
โ”‚                                                                              โ”‚
โ”‚ Java Home:  /usr/lib/jvm/java-21-openjdk                                     โ”‚
โ”‚ Working Dir:  /opt/myapp                                                     โ”‚
โ”‚ Classpath                                                                    โ”‚
โ”‚   /opt/myapp/lib/app.jar                                                     โ”‚
โ”‚                                                                              โ”‚
โ”‚ VM Arguments                                                                 โ”‚
โ”‚   -Xms128m                                                                   โ”‚
โ”‚   -Xmx2048m                                                                  โ”‚
โ”‚   -XX:+HeapDumpOnOutOfMemoryError                                            โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus compiler <pid>

Shows JIT compiler status and code cache usage. High code cache usage may cause deoptimization.

$ argus compiler 39113
 argus compiler
 Shows JIT compiler status and code cache usage. High code cache usage may cause deoptimization.

โ•ญโ”€ JIT Compiler โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ โœ” Compilation enabled                                                        โ”‚
โ”‚                                                                              โ”‚
โ”‚ Code Cache  [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]  233M / 1.0G  (23%)                      โ”‚
โ”‚   Max Used: 342M    Free: 791M                                               โ”‚
โ”‚                                                                              โ”‚
โ”‚ Blobs: 35.3K    nmethods: 32.9K    adapters: 2.3K                            โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Warnings:

  • Code cache usage > 80% โ€” may trigger deoptimization

argus finalizer <pid>

Shows finalizer queue status and pending count. High pending count may indicate resource leak.

$ argus finalizer 39113
 argus finalizer
 Shows pending finalizers and finalizer thread state. High pending count may indicate resource leak.

โ•ญโ”€ Finalizer Queue โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ โœ” No pending finalizers                                                      โ”‚
โ”‚                                                                              โ”‚
โ”‚ Finalizer Thread:  WAITING                                                   โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Warnings:

  • Pending count > 100 โ€” possible resource leak or slow finalization

argus stringtable <pid>

Shows interned string table statistics. Useful for tuning -XX:StringTableSize.

$ argus stringtable 39113
 argus stringtable
 Shows interned string table statistics. Useful for tuning -XX:StringTableSize.

โ•ญโ”€ String Table โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Category                   Count        Size                                 โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                 โ”‚
โ”‚ Buckets                     4.3K          0B                                 โ”‚
โ”‚ Entries                    16.7K          0B                                 โ”‚
โ”‚ Literals                  242.8K         19M                                 โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                 โ”‚
โ”‚ Total                                    24M                                 โ”‚
โ”‚                                                                              โ”‚
โ”‚ Avg literal size: 82.0 bytes                                                 โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus pool <pid>

Groups threads by pool name and shows state distribution per pool.

$ argus pool 39113
 argus pool
 Groups threads by pool name and shows state distribution per pool.

โ•ญโ”€ Thread Pools โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Threads: 83    Pools: 12                                                     โ”‚
โ”‚                                                                              โ”‚
โ”‚ Pool Name                      Count  State                                  โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€   โ”‚
โ”‚ DefaultDispatcher-worker          15  TWAIT:15                               โ”‚
โ”‚ (JVM Internal)                     6  WAIT:1 RUN:4 TWAIT:1                   โ”‚
โ”‚ ForkJoinPool.commonPool            4  WAIT:3 RUN:1                           โ”‚
โ”‚ pool-1                             3  RUN:1 WAIT:2                           โ”‚
โ”‚ (JIT Compiler)                     2  RUN:2                                  โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Options:

  • --top N โ€” Show top N pools

argus gccause <pid>

Shows last and current GC cause alongside generation utilization stats. Root-cause analysis for unexpected GC pauses.

$ argus gccause 39113
 argus gccause
 Shows last and current GC cause alongside generation utilization.

โ•ญโ”€ GC Cause โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Last GC Cause:     Humongous Allocation                                      โ”‚
โ”‚ Current GC Cause:  No GC                                                     โ”‚
โ”‚                                                                              โ”‚
โ”‚   Eden  [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]   62.8%                                       โ”‚
โ”‚   Old   [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘]   94.5%                                       โ”‚
โ”‚   Meta  [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ]   98.8%                                       โ”‚
โ”‚                                                                              โ”‚
โ”‚ YGC: 236 (2.380s)    FGC: 6 (1.105s)    GCT: 7.897s                         โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus metaspace <pid>

Shows detailed metaspace breakdown by space type (Class/Non-Class). Requires Java 16+.

$ argus metaspace 39113
 argus metaspace
 Shows metaspace usage breakdown by space type (Class/Non-Class).

โ•ญโ”€ Metaspace โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Used  [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ]  548M / 555M  (99%)                             โ”‚
โ”‚   Reserved: 1.5G                                                             โ”‚
โ”‚                                                                              โ”‚
โ”‚ Space                 Used   Committed    Reserved                           โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                           โ”‚
โ”‚ Non-Class             478M        481M        512M                           โ”‚
โ”‚ Class                  70M         73M        1.0G                           โ”‚
โ”‚                                                                              โ”‚
โ”‚ โš  Metaspace usage high โ€” possible classloader leak                           โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus dynlibs <pid>

Lists native libraries loaded in the JVM process, grouped by category (JDK/App/System).

$ argus dynlibs 39113

Options:

  • --filter=<pattern> โ€” Filter library paths

argus vmset <pid> Flag=value

Sets a manageable VM flag on a live JVM without restart. Requires confirmation unless --yes is passed.

$ argus vmset 39113 HeapDumpOnOutOfMemoryError=true --yes

Options:

  • --yes โ€” Skip confirmation prompt

argus vmlog <pid> [options]

Controls JVM unified logging (GC, JIT, safepoint) on a running JVM without restart.

# Show current log configuration
$ argus vmlog 39113

# Enable GC logging to stdout
$ argus vmlog 39113 what=gc=info output=#0

# Enable JIT compilation logging
$ argus vmlog 39113 what=jit+compilation=debug

argus jmx <pid> [subcommand]

Controls JMX Management Agent. Enables VisualVM/JConsole to connect to a running JVM.

# Check status
$ argus jmx 39113

# Start local JMX (same-host only)
$ argus jmx 39113 start-local

# Start remote JMX
$ argus jmx 39113 start --port=9999 --no-auth --no-ssl

# Stop JMX agent
$ argus jmx 39113 stop

Subcommands:

  • status (default) โ€” Show JMX agent status
  • start-local โ€” Start local-only JMX agent
  • start โ€” Start remote JMX agent (opens network port)
  • stop โ€” Stop JMX agent

argus classstat <pid>

Shows class loading throughput: loaded/unloaded counts, bytes, and time spent.

$ argus classstat 39113
 argus classstat
 Shows class loading throughput: loaded/unloaded counts, bytes consumed, and time spent.

โ•ญโ”€ Class Loading โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Loaded:    112.0K  (220722.8 KB)                                             โ”‚
โ”‚ Unloaded:  3.4K  (4372.5 KB)                                                โ”‚
โ”‚                                                                              โ”‚
โ”‚ Net:       108.7K                                                            โ”‚
โ”‚ Time:      20.510s                                                           โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus gcnew <pid>

Shows young gen detail: survivor spaces, tenuring threshold, eden usage. Useful for tuning MaxTenuringThreshold.

$ argus gcnew 39113
 argus gcnew
 Shows young gen detail: survivor spaces, tenuring threshold, eden usage.

โ•ญโ”€ Young Generation โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚   Eden  [โ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]  11M / 350M  (3%)                                โ”‚
โ”‚   S0    [โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]  0B / 0B  (0%)                                   โ”‚
โ”‚   S1    [โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]  0B / 0B  (0%)                                   โ”‚
โ”‚                                                                              โ”‚
โ”‚ Tenuring Threshold:  15 / 15                                                 โ”‚
โ”‚ Desired Survivor:        23M                                                 โ”‚
โ”‚                                                                              โ”‚
โ”‚ YGC: 328  (3.104s)                                                           โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus symboltable <pid>

Shows JVM symbol table statistics (class/method/field names). Complements stringtable.

$ argus symboltable 39113
 argus symboltable
 Shows JVM symbol table statistics (class/method/field names). Complements stringtable.

โ•ญโ”€ Symbol Table โ”€โ”€ pid:39113 โ”€โ”€ source:auto โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚ Category                   Count        Size                                 โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                 โ”‚
โ”‚ Buckets                    20.4K          0B                                 โ”‚
โ”‚ Entries                    77.5K          0B                                 โ”‚
โ”‚ Literals                    1.3M         95M                                 โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                                 โ”‚
โ”‚ Total                                   117M                                 โ”‚
โ”‚                                                                              โ”‚
โ”‚ Avg literal size: 76.0 bytes                                                 โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

argus init

First-time setup wizard. Prompts you to select the default output language (en/ko/ja/zh) and saves the preference to ~/.argus/config.properties.

$ argus init
 argus init
 First-time setup: select your preferred output language.

? Select language [en/ko/ja/zh]: ko
โœ” Language set to: ko
  Config saved to: /Users/you/.argus/config.properties

After running argus init, all subsequent commands use the chosen language by default. Override any time with --lang=<code>.


JSON Output

All commands support --format=json for scripting and pipeline integration:

$ argus --format=json gc 39113
{"totalEvents":0,"totalPauseMs":0.0,"overheadPercent":0.0,"lastCause":"","heapUsed":56849408,"heapCommitted":268435456,"collectors":[{"name":"g1 gc","count":0,"totalMs":0.0}]}

Multi-language Support

Set the output language with --lang or configure it with argus init:

$ argus --lang=ko histo 39113 --top 3

Supported languages: English (en), Korean (ko), Japanese (ja), Chinese (zh)


argus doctor

One-click JVM health diagnosis with actionable recommendations and JVM flag suggestions.

$ argus doctor

Cross-correlates GC, memory, CPU, threads, and buffer metrics to produce severity-rated findings.

Health checks (8 rules):

Rule What it detects Thresholds
GC Overhead Excessive GC time warn > 5%, critical > 15%
Heap Pressure Heap/old gen saturation warn > 75%, critical > 92%
Thread Contention Deadlocks, blocked threads deadlock = critical, blocked > 5 = warn
Metaspace ClassLoader leaks warn > 80%, critical > 95%
Direct Buffers NIO buffer leaks warn > 200MB, critical > 800MB
CPU Usage Process CPU saturation warn > 70%, critical > 90%
Finalizer Queue Backed-up finalization warn > 100, critical > 1000
GC Algorithm Suboptimal GC choice Serial on large heap, Full GC frequency

Exit codes for CI/CD: 0 = healthy, 1 = warnings, 2 = critical.

# CI/CD integration
argus doctor --format=json || alert "JVM unhealthy"

argus gclog

Analyze GC log files with pause distribution, cause breakdown, and tuning recommendations. Free alternative to GCEasy.io.

$ argus gclog /var/log/gc.log
$ argus gclog gc.log --suggest-flags    # output only JVM flags
$ argus gclog gc.log --format=json      # CI/CD integration

Supported formats: JDK 9+ unified logging (-Xlog:gc*) and JDK 8 legacy (-XX:+PrintGCDetails). Auto-detected.

Output sections:

  1. Summary โ€” duration, event count, throughput %
  2. Pause Distribution โ€” p50, p95, p99, max with ASCII histogram
  3. Heap โ€” peak usage, avg after GC
  4. Cause Breakdown โ€” per-cause count/avg/max table
  5. Tuning Recommendations โ€” severity-rated with specific JVM flags

Tuning rules (7):

Pattern Recommendation
Full GC detected Increase -Xmx
Throughput < 95% Increase heap or switch GC
p99 > 200ms -XX:MaxGCPauseMillis=200 or ZGC
Humongous allocations -XX:G1HeapRegionSize=16m
Metaspace GC -XX:MaxMetaspaceSize=512m
Allocation failures -XX:NewRatio=2
Max pause > 1s -XX:+UseZGC

argus flame

One-shot flame graph generation. Profiles for N seconds, generates interactive HTML, and opens in browser.

$ argus flame 12345                      # 10s CPU, open browser
$ argus flame 12345 --duration 30        # 30 seconds
$ argus flame 12345 --type alloc         # allocation flame graph
$ argus flame 12345 --type lock          # lock contention flame graph
$ argus flame 12345 --output flame.html  # save to specific file
$ argus flame 12345 --no-open            # don't open browser

Options:

Option Default Description
--duration N 10 Profiling duration in seconds
--type cpu Profile type: cpu, alloc, lock, wall
--output /tmp/argus-flame-<pid>.html Output file path
--no-open false Skip browser auto-open

Uses async-profiler under the hood. Auto-downloads if not present.


argus watch

Real-time terminal dashboard โ€” htop for JVM. Updates in-place using ANSI escape codes.

$ argus watch                    # monitor local JVM, 2s refresh
$ argus watch --interval=5       # 5 second refresh

Display:

  • Heap/Old/Metaspace with color progress bars and sparkline history
  • CPU usage with processor count
  • GC stats with overhead % (green/yellow/red)
  • Thread summary: total/runnable/waiting/blocked/deadlocked
  • NIO direct buffer usage
  • Class loading stats

Controls: q = quit, r = force refresh.


argus suggest

JVM flag optimization based on workload analysis. Auto-detects workload type or accepts --profile override.

$ argus suggest                        # auto-detect workload
$ argus suggest --profile=web          # optimize for web server
$ argus suggest --profile=batch        # optimize for batch processing
$ argus suggest --profile=microservice # optimize for microservice
$ argus suggest --profile=streaming    # optimize for streaming
$ argus suggest --format=json          # JSON output

Workload profiles:

Profile Optimizes for Key suggestions
web Low latency, consistent response times G1GC/ZGC, MaxGCPauseMillis
batch Maximum throughput ParallelGC, GC thread tuning
microservice Fast startup, low memory SerialGC for small heaps, CDS
streaming Steady allocation rate G1GC, TLAB sizing

Includes a copy-paste ready flag summary at the bottom of output.