Console based JVM monitoring


Console based JVM monitoring

jvm-top lets you monitor your Java/Scala/.. server applications from the terminal.



Requirement: a JDK on the server and JAVA_HOME environment variable pointing to it. It won’t work with just a JRE.

To install: 1. Download the release 2. Unzip/untar 3. Run ./bin/jvm-mon from extracted directory

Usage: - Select a JVM process and press Enter to monitor it - Press q or ctrl+c to exit - Press Del or Backspace to kill a process

What is available

Currently it shows: - List of running JVM processes - Cpu and GC load - Heap size and usage - Top threads with cpu usage

Building from source

To build locally run ./gradlew installDist to install to ./build/install/jvm-mon/.

To develop you will need npm on your machine and then run ./gradlew npmDeps once to get dependencies.

How does it work?

jvm-mon is a Java application based on these awesome libraries: - blessed-contrib terminal dashboard library in JavaScript - J2V8 Java Bindings for V8 JavaScript engine and Node.js - jvmtop Java monitoring for the command-line

The way it works is: 1. The java app starts a Node.js engine in-process 2. Node.js loads a script with all the widgets 3. The script calls back into java land to get metrics


Open to suggestions/contributions on what to add. This project was crafted in a one day so there’s definitely room for improvment. Some ideas: - View process classpath and parameters - Loaded classes - Windows build - Profiler - View JMX beans

Related Repositories



Console based JVM monitoring ...