Skip to content
Poll JMX attributes from the command line
Java Shell
Branch: master
Clone or download
Pull request Compare This branch is 6 commits ahead, 5 commits behind jonjlee:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


jmxstat - Poll JMX attributes and more


jmxstat <host:port> [--peformGC|--contention|--disable-contention] [[attribute.field], ...] [interval [count]] 
java -jar jmxstat-VERSION.jar <host:port> [--peformGC|--contention|--disable-contention] [[attribute.field], ...] [interval [count]]


jmxstat connects to a remote JMX server via RMI and reads MBean attributes
at a regular interval. Authentication is not supported.

jmxstat supports these arguments:

host:port            Host and port of the JMX enabled process to connect to

mbean-attributes     Space separated list of mbean names and attributes to
                     query in the following format:

                     If the attribute starts with '!' invoke the method.

--contention         Render blockedCount and blockedTime for all threads.
                     blockedCount is the total number of times threads
		 blocked to enter or reenter a monitor.
		 blockedTime is the time elapsed in milliseconds for
		 all threads blocked to enter or reenter a monitor.

--disable-contention Disable the blocked time monitoring activated by the 
                     --contention options.

--performGC          Perform a full GC.

interval             Pause _interval_ seconds between each query.

count                Select count records at interval second intervals.


**Precondition**. These examples assume a JMX enabled process is listening
on localhost:9999. To use jmxstat itself as the monitored process:

    java -jar jmxstat.jar localhost:9999

Display the number of loaded classes (every 5 seconds, by default):

    jmxstat localhost:9999 java.lang:type=ClassLoading[LoadedClassCount]

Display heap usage and thread count every 2 seconds 3 times:

    jmxstat localhost:9999 java.lang:type=Memory[HeapMemoryUsage.max,HeapMemoryUsage.committed,HeapMemoryUsage.used] java.lang:type=Threading[ThreadCount] 2 3

Display thread count and contention information:

   	jmxstat localhost:9999 --contention java.lang:type=Threading[ThreadCount] 2 3

Perform a Full garbage collector:

    jmxstat localhost:9999 --performGC

Same but using a method invocation:

    jmxstat localhost:1089  java.lang:type=Memory[!gc] 1 1

Invoking method with parameters:

    jmxstat localhost:1089  localhost:1089  org.nuxeo:name=EventMonitoring,type=service[!setListenerEnabledFlag/auditLoggerListener/false] 1 1


Get the latest package from:

Then install:
   tar xzvf jmxstat-VERSION.tgz
   cd jmxstat-VERSION
   sudo make install
You can’t perform that action at this time.