We recently upgraded to Coldfusion 10 on our production system, and have been running into issues getting it to remain stable under full load.
Initially, the issue was it would run out of memory with the error message:
java.lang.OutOfMemoryError: Java heap space
...and would stop responding to requests soon after, requiring a restart.
Looking for help on this error resulted in suggestions to increase the memory that CF can use for its heap and permanent generation. However, applying these changes to our server (one, the other or both) actually makes the problem worse:
The server still locks up just as frequently, but without any error messages; instead, it also prevents Apache from serving even static documents. As before, restarting the coldfusion server fixes this.
We've reached the point where we now restart the service nightly, but this feels like a stopgap solution and wasn't necessary a year ago, when we had much less memory available (and were using the much older Coldfusion MX 7).
Our system runs Ubuntu 12.04 over 16 AMD processors (64-bit), with 16GB of memory. There doesn't seem to be any reason for this to be an issue, yet somehow it is...
(Our previous system used 4 processors and 1GB of memory, and ran fine a year ago.)
Has anyone encountered this type of issue where increasing the heap and/or perm size did not solve the problem? Have you discovered any other solutions?
Hi Helen, Heap and Perm issues are generally something I like to get involved in having come across many useful ways to see what is going on with the Java memory. However I do not immediately know what to think since you say Heap and Perm are adjusted and I gather you are not getting Java heap or perm errors anymore.
Since the change in CF10 to tomcat from Jrun (as used in CF7) I have noticed the connector log file handy to know if some other tuning issue is occurring. My environment is Windows IIS tho with Ubuntu Apache you are still using tomcat AJP and a connector. Any errors or warnings in CF10/config/N/mod_jk.log where N = number perhaps 1 and mod_jk.log maybe go by similar name?
You may refer to http://www.adobe.com/devnet/coldfusion/articles/coldfusion_performance.html for performance tuning. Although this document refers to JRun architecture, however at the same time explains heap, non heap and perm memory.
Hope this helps.