Unbalanced process load ?? one java process is locked to highest CPU load ??
Huang Teng Shiu
posted 13 years ago
I am using resin 2.1.6 on RedHat 7.3 on a P4-2G box with 1GB RAM.
We all know that resin will 'fork' a lot of java process to handle JSP/servlet requests. Generally , these process have similar CPU load , each about lower than 5% of CPU load, and no process will always occupy highest CPU load, for example :
BUT , sometimes (about two or three times per day), there will be one process 'locked' to highest CPU load , forever ! This is the case :
We see that PID 2667 occupies highest extraordinary CPU load , and it will never go down....and maybe goes up to 80% to 90% CPU load !!! The JSP/servlet pages begin slow down , and the system load will go higher and higher. Finally , it will cause javax.servlet.jsp.JspException This is the result dumped to the error.log :
[2002/12/27 17:22:15] null javax.servlet.jsp.JspException at org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(ImportSupport.java:324) at org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:179) at _jsp._SomePage__jsp._jspService(_SomePage__jsp.java:86) at com.caucho.jsp.JavaPage.service(JavaPage.java:75) at com.caucho.jsp.Page.subservice(Page.java:497) at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182) at com.caucho.server.http.Invocation.service(Invocation.java:312) at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135) at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:342) at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:272) at com.caucho.server.TcpConnection.run(TcpConnection.java:137) at java.lang.Thread.run(Thread.java:536)
The error can not be automatically fixed! Even I add <jsp recompile-on-error='true'/> in web.xml cannot solve the problem.
All I have to do is restart the webapp manually....and if I am not beside the terminal , then the error will never be recovered.
I don't think it's related to the size of concurrent online users. Because sometimes there will be more users and processes (In the midnight , sometimes up to 170+ processes) , and the server load is still low and the web site is very fluent.
Can somebody tell me what to do ? Thanks in advance .... [ December 27, 2002: Message edited by: Huang Teng Shiu ]