Complete reference for all 50 Argus CLI commands with usage examples and actual output.
--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
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 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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
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%) โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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
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%) โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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
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
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.jarShows 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 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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 recordingargus jfr <pid> checkโ Show recording statusargus jfr <pid> dumpโ Dump recording to file (option:--file=dump.jfr)
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 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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 browserCompares two heap snapshots to detect memory growth โ useful for memory leak investigation.
$ argus diff 39113 5 --top 5Takes 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)
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%
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 2Options:
--host HOSTโ Argus agent host (default: localhost)--port PORTโ Argus agent port (default: 9202)--interval Nโ Refresh interval in seconds (default: 1)
Generates a heap dump (.hprof) file. Shows a Stop-The-World warning before proceeding.
$ argus heapdump 39113Options:
--file=<path>โ Output file path--liveโ Live objects only (default)--allโ All objects including garbage--yesโ Skip confirmation prompt
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
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 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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
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
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 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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
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 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Lists native libraries loaded in the JVM process, grouped by category (JDK/App/System).
$ argus dynlibs 39113Options:
--filter=<pattern>โ Filter library paths
Sets a manageable VM flag on a live JVM without restart. Requires confirmation unless --yes is passed.
$ argus vmset 39113 HeapDumpOnOutOfMemoryError=true --yesOptions:
--yesโ Skip confirmation prompt
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=debugControls 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 stopSubcommands:
status(default) โ Show JMX agent statusstart-localโ Start local-only JMX agentstartโ Start remote JMX agent (opens network port)stopโ Stop JMX agent
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 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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) โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
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>.
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}]}Set the output language with --lang or configure it with argus init:
$ argus --lang=ko histo 39113 --top 3Supported languages: English (en), Korean (ko), Japanese (ja), Chinese (zh)
One-click JVM health diagnosis with actionable recommendations and JVM flag suggestions.
$ argus doctorCross-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"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 integrationSupported formats: JDK 9+ unified logging (-Xlog:gc*) and JDK 8 legacy (-XX:+PrintGCDetails). Auto-detected.
Output sections:
- Summary โ duration, event count, throughput %
- Pause Distribution โ p50, p95, p99, max with ASCII histogram
- Heap โ peak usage, avg after GC
- Cause Breakdown โ per-cause count/avg/max table
- 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 |
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 browserOptions:
| 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.
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 refreshDisplay:
- 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.
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 outputWorkload 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.