Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to do some performance monitoring on our JVMs.

What would be interesting to monitor besides the obvious things I already have on my list ?

  • JVM Free/Total memory
  • GC rate (how many per minute)
  • Duration of GC
share|improve this question
up vote 3 down vote accepted

For heavily multithreaded apps, thread-related metrics are useful for both performance and availability monitoring. That way you can monitor for excessive contention and queuing, potential deadlocks, that kind of thing.

It can also be useful to see how thread metrics correlate with CPU and memory metrics. E.g., if you're seeing frequent full GCs, it would be useful to know that one of the threads has been running much longer than what you'd normally expect. It may be stuck in an infinite loop and eating up heap.

Here are some ideas:

share|improve this answer
+1 for a link with a ready-to-use sample implementation – Steve Schnepp Oct 28 '09 at 10:33

Your list covers the essentials. Some additional stuff:

  • CPU usage of JVM
  • You might also look into Java Management Extensions (JMX) to monitor what the JVM is doing. JMX allows you both to query the JVM for stuff like free memory or GC details, and get information from the app running in the VM, if the app supports JMX (e.g. most appservers do). That way you can query for critical log entries, DB failures, number of transactions / second etc.
share|improve this answer
the wikipedia link is dead. – Dwight Spencer Nov 5 '15 at 1:14
@DwightSpencer: Well, not dead, it's a disambiguation page. Anyway, corrected. Thanks for pointing this out. – sleske Nov 5 '15 at 7:52

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.