Hi ,
On production server , we are facing High CPU utilization over peroid of time . During the last HIgh CPU utilization incident we took the thread dump to find which thread is causing High CPU Utilization and thread dump as follow : "Import - 2008-05-06 07:05:59.731" daemon prio=1 tid=0x3441f210 nid=0x369f runnable [0x3478e000..0x3478f130] at org.apache.commons.collections.map.LRUMap.reuseMapping(LRUMap.java:270) at org.apache.commons.collections.map.LRUMap.addMapping(LRUMap.java:243) at org.apache.commons.collections.map.AbstractHashedMap.put(AbstractHashedMap.java:282) at org.ofbiz.service.ServiceDispatcher.logService(ServiceDispatcher.java:883) at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:257) at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:212) at org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:114) at com.in2m.mvelopes.user.UserServices.updateAcct(UserServices.java:4206) at com.in2m.mvelopes.user.UserServices.updateAccts(UserServices.java:4253) at com.in2m.mvelopes.user.UserServices.importTpAcctsByUser(UserServices.java:3548) at sun.reflect.GeneratedMethodAccessor2509.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.ofbiz.service.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:92) at org.ofbiz.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:54) at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:338) at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:212) at org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:114) at com.in2m.mvelopes.user.UserServices.runAcctImports(UserServices.java:3703) at sun.reflect.GeneratedMethodAccessor2506.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.ofbiz.service.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:92) at org.ofbiz.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:54) at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:338) at org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:212) at org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:114) at com.in2m.mvelopes.user.UserThreads$RunAccountImports.run(UserThreads.java:77) From the above log , it seems that ofbiz is not been able to invoke the next service as per our application code after " at com.in2m.mvelopes.user.UserServices.updateAcct(UserServices.java:4206) " line in above thread dump .And suddenly CPU usage has increased to 100% . We did not find any issue or any infinite loop in our application code at that service invokation. I think , there is some problem while running the "logService()" method of ServiceDispatcher.java. And also like to mention we got following warning as well : "(http-0.0.0.0-8080-Processor2) [ServiceDispatcher.java:logService:885 :WARN ] :: LRUMap problem; resetting LRU [200] " For your information , we are using old version of Ofbiz before 2 years. We have the highly multi-threaded enviornment application on the server. Is this any problems with LRU map that ofbiz is using (any synchronization problems ) ? Please provide the feed back . |
Free forum by Nabble | Edit this page |