Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

csdnjavaWjy/jvm-mon

Repository files navigation

Tests Homebrew

jvm-mon

Console based JVM monitoring - when you just want to SSH into a server and see what's going on.

jvm-top lets you monitor your JVM server applications from the terminal.

Screenshot

Install

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

MacOS

brew install jvm-mon

Linux/MacOS

  1. Download the release and extract
  2. Set JAVA_HOME environment variable: export JAVA_HOME=/path/to/your/jdk8
  3. Execute ./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. Then go to ./build/install/jvm-mon/ and run ./bin/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 Kotlin 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 Kotlin app starts a Node.js engine in-process
  2. Node.js loads a script with all the widgets
  3. The script calls back into Kotlin to get metrics

About

Console-based JVM monitoring

Resources

License

Stars

Watchers

Forks

Packages

Contributors

Languages

  • Kotlin 100.0%

AltStyle によって変換されたページ (->オリジナル) /