System and Process Monitoring in Java

Java provides very limited interaction with other system processes, which makes it very difficult to implement benchmarking and system monitoring utilities. This little project attempts to provide a simple Java API to monitor all system processes with a help of JNI (Java Native Interface).

Here are sample snapshots on how a demo application looks like in Linux and Windows:

This is not the way to benchmark programs when recording data for scientific purposes (method is not precise as e.g. memtime and has rather big overhead of Java), but should be sufficient for most desktop uses especially if you have Java frontend. You may want to try it too:

Known limitations:

The source code was developed from scratch (i.e. I am the author). The source and Makefile script is included in the JAR archive, use under GPL-2.0 license.

Feedback is very much welcome.

Marius Mikučionis