Skip to content
jezhumble edited this page Sep 13, 2010 · 35 revisions

JavaSysMon reports useful system performance metrics cross-platform. You can think of it as a cross-platform library for the UNIX `top’ command. It comes in the form of a single JAR file. See the README for detailed information on the project.

Currently it reports:

  • Uptime
  • Current process’s pid
  • Total and free RAM
  • Total and free swap
  • CPU usage
  • CPU frequency
  • Number of CPUs

Work in progress (Linux only, with poor exception handling): Process info (pid, parent pid, user, command, cpu ticks, resident memory, total memory – again, whatever represents the lowest common denominator cross-platform)

If you want to add support for more metrics, the main goal is to be cross-platform. So unless someone wants to write some C to calculate load averages in Windows, for example, I won’t be putting load averages in (note that you can get load averages in Java 6 from OperatingSystemMXBean )

Here are the ones I would like to support in future:

  • Network usage (bytes in / bytes out)
  • Disk IO (bytes in / bytes out)

Supported platforms

Supported platforms are Windows, Mac OS X, Linux, and Solaris. If you’re interested in adding support for a new platform, check out Adding support for a new platform. The more, the merrier.

The Java stuff is designed to work on Java 1.4 and higher (hence, sadly, no JUnit 4)

License

JavaSysMon is BSD licensed (to be precise: the FreeBSD 2-clause license).

Clone this wiki locally