Hello,
while doing performance tests on a clustered glassfish configuration, I noticed that the CPU consumption, although reasonable (50%), is oddly spread between user and system time: indeed, the sar command indicates 40% of "system" CPU consumption (from the man page: "Percentage of CPU utilization that occurred while executing at the system level (kernel)"), and only 10% of "user" CPU.
I am surprised that the machine spends so much time doing kernel tasks: there is no swap (as per the vmstat command), but the application handles a number of socket operations (WebService calls that end up hitting a DB).
As per my understanding, this "system" CPU deals with swapping, socket and file opening/closing, context switching,... Are there other activities, and how could I monitor them?
More to the point of this forum (glassfish): is it a known fact that a JVM running Glassfish consumes a lot of "system" CPU?
Thanks in advance.
[Message sent by forum member 'jduprez' (jduprez)]
http://forums.java.net/jive/thread.jspa?messageID=352524