# Install jvm-mon with Homebrew

Console-based JVM monitoring. Version 1.3 via Homebrew; verified 2026-07-25.

## 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
- **Version:** 1.3
- **Source summary:** Console-based JVM monitoring
- **Homepage:** <https://ajermakovics.github.io/jvm-mon/>
- **Repository:** <https://github.com/ajermakovics/jvm-mon>
- **Last updated:** 2026-07-25T20:58:06-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- jvm-mon (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.3
## 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


## Combined YAML source

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


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
