Swiss Java Knife
SJK is a command line tool for JVM diagnostic, troubleshooting and profiling.
java -jar sjk.jar <cmd> <arguments> java -jar sjk.jar --help java -jar sjk.jar --help <cmd>
Below a few command
Pools thread CPU usage of target JVM and periodically report to console.
- Could sort thread by CPU usage and/or thread's name.
- Could limit number of thread displayed
- Display thread memory allocation rate and cumulative process allocation rate (if supported by JVM)
Similar to jps.
- Plus could filter process java processes by their system properties.
- Plus could display specific system properties of process in output.
- Plus could display values of specific -XX for HotSpot JVM processes.
Similar to jmap -histo.
- Plus can show histogram of dead objects (histograms of all and live requested, then difference is caluclated).
- Plus can show N top buckets in histogram.
Report information about GC in real time. Data is retrieved via JMX.
This command allow you to do basic operations with MBean from command line.
- read MBean attributes
- update MBean writeable attributes
- invoke MBean operations (arguments are supported)
- displays composite and tabular data in human readable format
- use wild cards to shorten MBean names (e.g.
- connect to local JVM processes by PID (e.i. any Java process, you do not need to enable JMX server)
- connect to JMX using host:port (password authentication is supported)
Dumps all MBeans of target java process to JSON.