We have a new instance of CQ5 (version 5.4) running on a Windows 2003 SP2 Server. For some reason, which we can't determine, after a period of time a Java process on the system begins to consume 100% of the CPU and the system becomes totally unresponsive. Has anyone seen this before? Is there a fix for this?
Does the it eventually recover on it's own? It's possible that the JVM is doing full garbage collection. How big is your max heap size? I suggest to add some garbage collection debugging in the JVM_OPTS to see if it is Java's garbage collection or not. Might as well check the heap too, to see if it's running our of memory.
-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution -Xloggc:/tmp/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp
We've never seen it recover, but the longest we've ever left it running without killing it is about 12+ hours. I'll add the garbage collection debugging and I'm wondering if you can tell me where I find the max heap size setting? I assume that's in a config file somewhere? Not sure with windows if there's a control panel for the JVM or not... Will check.
For Windows, it should be in crx-quickstart/server/server.bat. Look for the Memory settings:
Also, you can add the garbage collection debugging parameters in this file:
Hope this helps.
Did you got chance to create day care ticket about this ? Thread dump with logs will help. Also see http://dev.day.com/content/kb/home/Crx/Troubleshooting/AnalyzeSlowAndB lockedProcesses.html to figure out what is blocking.
Thanks Ron, great answers all!
I found our settings to all be as you showed. I doubled our values and restarted the server. We'll see if that has the desired effect. Same goes for debugging, will keep you posted.
Thanks for your help, greatly appreciated.
We don't have a Daycare login at this time. We renewed our Adobe Enterprise Developer Program subscription yesterday, so we're hoping that will give us access to Daycare shortly. Is there anything else we need to do to get Daycare access?
You need to have valid support contract to get Day Care access. Once contract is executed you would be given Daycare access that you can use to create additional account. Feel free to let us know if you need help.
FYI that we've been able to narrow down the issue to the VM Manager we're using. Running the VM using Microsoft Hyper-V server seems to have some sort of impact on the instance and java process handling. We've run the exact same machine setup (O/S, software versions etc...) on a VMWare based VM and it works perfectly. We're not sure why, but thought I'd provide an update.