# Install jvm-mon with Homebrew

Console-based JVM monitoring. Version 1.3 via Homebrew; verified 2026-06-15.

## Install

```sh
sudo av install brew:jvm-mon
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install jvm-mon
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:jvm-mon
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/jvm-mon>
- **Version:** 1.3
- **Source summary:** Console-based JVM monitoring
- **Homepage:** <https://ajermakovics.github.io/jvm-mon/>
- **Repository:** <https://github.com/ajermakovics/jvm-mon>
- **Upstream docs:** <https://github.com/ajermakovics/jvm-mon>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/ajermakovics/jvm-mon/archive/refs/tags/1.3.tar.gz>
- **Last updated:** 2026-06-15T10:20:19-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- jvm-mon (cli)
- jvm-mon (alias)

## Build dependencies

- go
- openjdk

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.3
- Package-manager updated: 2026-06-15
- Local data: ok
- Upstream repository: https://github.com/ajermakovics/jvm-mon
- Upstream latest detected: 1.3 (current)
## Project history and usage

jvm-mon is a console-based JVM monitoring tool for inspecting Java processes from a terminal. Its README describes the target use case plainly: SSH into a server and see what is happening inside running JVM applications.

### Project history

The jvm-mon repository was created on 2017-02-06 and published release 0.1 the same day. Early releases were aimed at a terminal UI for JVM process monitoring, showing running processes, CPU and garbage-collection load, heap usage, and top threads.

The 1.3 release, published on 2025-03-28, marked a substantial implementation change: the README says the tool was rewritten in Go, distributed as a single executable, able to monitor Java 8 and above, and no longer required an existing JDK. The bundled agent jar attaches to a selected JVM and communicates metrics back over a socket.

### Adoption history

jvm-mon has a niche but clear adoption profile: terminal-first Java operations. The input package metadata lists Homebrew packaging, and the repository metadata showed about 1,500 GitHub stars on 2026-07-01, which is notable for a focused JVM terminal monitor.

Its adoption sits beside older JVM tools such as JConsole, VisualVM, `jstat`, and `jcmd`, but jvm-mon's package-manager appeal is the single CLI for quick remote inspection.

### How it is used

Users launch `jvm-mon`, select a running JVM process, and press Enter to monitor it. The README documents keys for quitting and killing a process, and lists CPU, GC, heap, and thread information as available metrics.

The 1.3 architecture bundles a Java agent jar inside the executable, extracts it at startup, attaches it to the selected JVM, and exchanges metric data through a socket connection.

### Why package nerds care

jvm-mon is package-nerd interesting because it turns a normally GUI-heavy or JDK-tool-heavy monitoring task into a Homebrew-installable terminal binary.

The Go rewrite matters operationally: fewer runtime assumptions and no required local JDK make the package easier to ship onto servers where operators want a quick inspection tool rather than a monitoring platform.

### Timeline

- 2017-02-06: The jvm-mon GitHub repository is created and release 0.1 is published.
- 2017-03-27: jvm-mon 0.3 is published.
- 2020-04-29: jvm-mon 1.0-ea1 is published.
- 2025-03-20: jvm-mon 1.1 is published.
- 2025-03-28: jvm-mon 1.3 is published with the Go rewrite documented in the README.

### Related projects

- JConsole and VisualVM are GUI-oriented JVM monitoring tools in the broader Java ecosystem.
- `jstat` and `jcmd` are command-line JDK tools for JVM inspection.
- Java agents and the JVM attach mechanism are the underlying technique jvm-mon uses to collect metrics.

### Sources

- <https://api.github.com/repos/ajermakovics/jvm-mon>
- <https://api.github.com/repos/ajermakovics/jvm-mon/releases>
- <https://docs.oracle.com/javase/tutorial/jmx/overview/javavm.html>
- <https://github.com/ajermakovics/jvm-mon>
- <https://github.com/ajermakovics/jvm-mon/releases>
- <https://raw.githubusercontent.com/ajermakovics/jvm-mon/master/README.md>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** jvm-mon
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [openjdk](https://www.automicvault.com/pkg/brew/openjdk/) - Build dependency declared by Homebrew.
- [jvmtop](https://www.automicvault.com/pkg/brew/jvmtop/) - Shares av.db curated category or tags: cli, developer-tools, java, jvm, monitoring.
- [chronograf](https://www.automicvault.com/pkg/brew/chronograf/) - Shares av.db curated category or tags: cli, developer-tools, monitoring.
- [jhiccup](https://www.automicvault.com/pkg/brew/jhiccup/) - Shares av.db curated category or tags: cli, developer-tools, java, jvm, monitoring.
- [memcache-top](https://www.automicvault.com/pkg/brew/memcache-top/) - Shares av.db curated category or tags: cli, developer-tools, monitoring.
- [monika](https://www.automicvault.com/pkg/brew/monika/) - Shares av.db curated category or tags: cli, developer-tools, monitoring.
- [ohdear-cli](https://www.automicvault.com/pkg/brew/ohdear-cli/) - Shares av.db curated category or tags: cli, developer-tools, monitoring.
- [pg_top](https://www.automicvault.com/pkg/brew/pg-top/) - Shares av.db curated category or tags: cli, developer-tools, monitoring.
- [pipemeter](https://www.automicvault.com/pkg/brew/pipemeter/) - Shares av.db curated category or tags: cli, developer-tools, monitoring.
- [gradle](https://www.automicvault.com/pkg/brew/gradle/) - Both packages touch the same language runtime or ecosystem. Shared terms: based, cli, developer, developer-tools, java.

## Combined YAML source

View the package source record on GitHub. [combined/jvm-mon.yml](https://github.com/automic-vault/db/blob/main/combined/jvm-mon.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
