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.
1. Download the release
./bin/jvm-mon from extracted directory
- Select a JVM process and press
Enter to monitor it
ctrl+c to exit
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
To develop you will need
npm on your machine and then run
./gradlew npmDeps once to get dependencies.
How does it work?
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