Fully featured low overhead profiler for Java EE and Java SE platforms.
Easy to use performance and memory .NET profiler for Windows and Linux.
Performance monitoring and profiling of Jenkins, Bamboo, TeamCity, Gradle, Maven, Ant and JUnit.

CPU profiling shows extremely high system usage

Moderators: Vladimir Kondratyev, Anton Katilin

CPU profiling shows extremely high system usage

Postby omera » Wed Dec 02, 2020 4:23 pm

I ran profiling on my Scala application, and the CPU usage graph shows extremely high system CPU usage (minimum 64%, maximum 88%).
1. What CPU usage falls under "System"?
2. Any ideas on where should I start to understand what causes this?
omera
 
Posts: 5
Joined: Wed Dec 02, 2020 4:06 pm

Re: CPU profiling shows extremely high system usage

Postby Anton Katilin » Wed Dec 02, 2020 6:04 pm

1. What CPU usage falls under "System"?

It's the overall CPU usage on the machine which runs the profiled application. The usage is obtained via corresponding system calls specific to the OS in use.
The profiler shows it to present the whole picture: the performance of the profiled application can be affected by other processes running on the same machine.
2. Any ideas on where should I start to understand what causes this?

To find out why the application consumes CPU please perform CPU profiling:
https://www.yourkit.com/docs/java/help/ ... filing.jsp

If stack telemetry is recorded, you can also estimate the CPU usage:
https://www.yourkit.com/docs/java/help/ ... mation.jsp
Anton Katilin
 
Posts: 6029
Joined: Wed Aug 11, 2004 8:37 am

Re: CPU profiling shows extremely high system usage

Postby omera » Thu Dec 03, 2020 7:25 am

I see. Can I say for sure that the high system CPU is not related to the profiled application, or could it be that the high system CPU is indirectly caused by the profiled app?
omera
 
Posts: 5
Joined: Wed Dec 02, 2020 4:06 pm

Re: CPU profiling shows extremely high system usage

Postby Anton Katilin » Thu Dec 03, 2020 10:09 am

The process CPU usage (filled), as the name suggests, is associated with the profiled process itself i.e. the profiled application. This can be activities in Java level code or in native code, but anyway it's the activity inside the JVM process. It does not include CPU usage in other processes, e.g. child processes possibly started from within the JVM.

The system CPU usage (red dotted line) shows total CPU usage on the machine. It includes activities in all running processes.
Anton Katilin
 
Posts: 6029
Joined: Wed Aug 11, 2004 8:37 am


Return to Java Profiler

Who is online

Users browsing this forum: No registered users and 1 guest

YourKit uses cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.

By browsing our website, you consent to our use of cookies and other tracking technologies in accordance with the Privacy Policy.