5itface
asked on
High CPU Usage by Tomcat
Our developer team had just updated a link within our webpage that gives our clients a new look and feel to our webpage. As a sysadmin, I helped with the deploying the jsp.war file (build) to the server. Now, the CPU usage for tomcat has maxed out to 99-100%. Of course restarting the service will bring it down, but eventually it will max out again. The development team has looked at the logs, and cannot pin point what the issue is. I don't know java, or tomcat at all, but my colleague does, and have add more memory to the permgen, java and we've even added more physical memory and CPU, but to no avail. The developers looked at the codes and find nothing wrong. What is odd is that this high CPU spike has something to do with the change from the developers because it happened right after the update. However, we do not want to point fingers, nor do they. I looked at anything possible from a Windows server standpoint. Again, I am not a java expert or a developer, but can someone here who is provide some sort of theory as to what it can possibly be or provide some advice so i can pass that info to our developers? We use VisualVM to looked for any issues, and already had our DBA look at it from a DB perspective, but still to no avail. The application we use is inhouse (proprietary).
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
The CPU is consumed by the Tomcat process.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
1. What's the target OS?
2. What OS specific setting are required or recommended to get best performance out of the application?
3. What are the hardware requirements/recommendatio
4. What web server (Tomcat in this case) version is required and are specific settings required or recommended to get best performance out of the application?
5. How many users (sessions) will the application support using the recommended hardware, OS, and web server configurations?
6. What members of the development, systems administration, and database administration teams will be responsible for addressing any issues?
As you get more experience you'll likely have a number of other questions that need to be answered before putting a new application into production but I'd recommend using these as a minimum.
But that's for future applications. Right now you're stuck with having a poorly performing one in production. You're very right about not pointing fingers as it's not likely to get you anywhere. Instead I ask something like, "Who can I work with on the development team to help find out what's going on?"
As to what's happening there's just too many possibilities to guess but if I had to I'd start by looking at refresh intervals for any active content (particularly calculated data and data driven visual content - graphs, charts, etc.). In your place I'd start by trying to get the development team to share responsibility for finding a solution and getting answers to the above questions.
Good luck.