One CLI for all JVM diagnostics. 66 commands, zero agent required, works on Java 11+. The free alternative to GCEasy + jcmd + VisualVM combined โ GC analysis, health diagnosis, flame graphs, async-profiler integration, ZGC live monitoring, and CI/CD profile gates.
# Install (macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/rlaope/argus/master/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/rlaope/argus/master/install.ps1 | iexargus doctor <pid> # One-click JVM health diagnosis
argus zgc <pid> # ZGC live diagnosis (30s JFR capture + verdict)
argus profile <pid> --duration=30 # CPU/allocation profiling via async-profilerShell completions (bash, zsh, fish, PowerShell) are installed automatically.
Continuous JVM monitoring + optimization + troubleshooting on top of Argus, available as a Claude Code plugin.
/plugin marketplace add https://github.com/rlaope/Argus
/plugin install argus-jvm-harness
CLI equivalent (no Claude Code required):
argus harness <pid> # 30-min trend-aware health watch
argus harness <pid> --profile=quick --duration=1m
argus harness <pid> --out=session.json --format=jsonThe harness samples on a fixed interval, runs the doctor rule set plus four trend rules (heap-leak regression, GC overhead trend, thread growth, pause-time regression), and produces a single session report with severity-ranked findings and JVM-flag suggestions.
Full reference: docs/harness.md
- 66 diagnostic commands โ heap, GC, threads, profiling, flame graphs, NMT, class loaders, and more. No agent required.
- Live JVM attach โ attaches externally via
jcmd/JMX; target JVM needs no restart and no-javaagentflag. - ZGC-aware โ
argus zgcgives a HEALTHY/WARNING/UNHEALTHY verdict with allocation stall detection, cycle-overlap analysis, SoftMax breach detection, and diff-against-baseline in one command. - Virtual thread support โ JFR-based pinning detection, carrier-thread distribution, and virtual thread monitoring on Java 21+.
Full command reference: docs/cli-commands.md
$ argus doctor 39113
โญโ Health Diagnosis โโ pid:39113 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ โ
Heap usage normal 41M / 256M (16%) โ
โ โ
GC overhead acceptable 0.3% โ
โ โ
No deadlocks detected โ
โ โ
Thread count normal 29 threads โ
โ โ Metaspace near limit 96.5% โ consider -XX:MaxMetaspaceSize โ
โ โ Old Gen elevated 41.8% โ monitor for promotion pressure โ
โ โ
โ Overall: WARN โ 2 recommendations โ
โ โ
โ Tuning Tips โ
โ โ Add -XX:MaxMetaspaceSize=256m to prevent unlimited growth โ
โ โ Run argus gclog <file> to analyze GC pressure over time โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Exit codes are machine-readable: 0 = healthy, 1 = warnings, 2 = critical.
| Topic | Doc |
|---|---|
| Installation, prerequisites, Java version compatibility | docs/getting-started.md |
| All commands with output examples | docs/cli-commands.md |
| Usage walkthroughs (agent, Spring Boot, ZGC, CI/CD, monitoring stack) | docs/usage.md |
| Agent properties, flag tables, env vars | docs/configuration.md |
| Module layout, SPI patterns, architecture diagrams | docs/architecture.md |
| Build, commit, i18n, release procedures | docs/contributing.md |
| Common errors and fixes | docs/troubleshooting.md |
./gradlew :argus-cli:fatJarSee docs/contributing.md for the full build, test, and release workflow.
MIT License โ see LICENSE.
Contributions welcome โ bugs, features, docs, tests. See docs/contributing.md.
Maintainer: @rlaope
