- In the Introscope investigator, select the Metric Browser tab.
- Expand SuperDomain > server_hostname > server_type > your_jvm > CPU.
By default, Introscope will display data for the last 8 minutes, and update about once every 30 seconds. Typically, you will toggle off Live monitoring, and then select a time range, such as 15 minutes, 1 hour, or 1 day.
In this example, the JVM had high CPU usage from 22:25 to 23:30, which is 1 hour, and then the CPU average returned to around 5%. This is usually an indication of something planned or routined causing the high CPU, such as a scheduled job.
In this example, the CPU consistenly hover around 50% to 75%, for 24 hours. This would certainly warrant analysis.
Is high CPU repetitive?
Check to see if the servers high CPU utilization is repetitive. For example, the server may be running some sort of scheduled job daily, weekly, or monthly that causes the high CPU. Change the custom range to the same time period 1 and 7 days ago, and also the same date last month, to see if the high CPU is routine. If so, you may be able to ignore the high CPU, as the high CPU may be expected.
Linux high CPU
If the server is Linux, refer to troubleshooting high CPU in Linux.
JVMs (WebSphere / Tomcat)
If the operting system is running an application server, such as WebSphere or Tomcat, Java may be the cause of high CPU. In this example, the java process is using 95% of the CPU. JVMs (Java Virtual Machines) may produce high CPU.
If there is more than one JVM on the system, using the following command to determine the JVM associated with the Java process that has high CPU.
ps <PID> | sed 's| |\n|g'
Once you know the JVM that is using the majority of the CPU, create a heap dump of the JVMs memory. The dump must be created while the JVM has high CPU.
Then, analyze the heap dump.