I have a third-party Java application that runs under Tomcat under Win2008 R2 64-bit. This is a multi-threaded application that provides its API through the SOAP service.
When I look at the "Task Manager Performance" tab, it looks like it uses only 4 of 8 cores, no matter how much load I put on it. The application provider swears up and down that they are not doing anything, which will affect the use of the CPU like this (and they do not see it at their end).
I have done the following:
- The affinity of tomcat6.exe is verified - it uses all processors.
- Checked to make sure that the Java service actually receives all requests - it does.
- I looked in every .conf file in the tomcat directory, but did not see anything suitable (this is also my first involvement with Tomcat - so I really don't know what I'm looking for).
- I tried it under Java 1.5 and 1.6 on two different servers - the same result.
Some hardware: 2 Xeon processors E5606 @ 2.13 Ghz with 4 cores. 72 GB RAM - 24 GB allocated by Tomcat.
Why is a Java application using only half the core?
source share