I inherited a VM with the following spec
Windows Server 2003 SBS SP2,
Intel Xeon E5506 2.13Ghz,
3.90 GB ram.
Adobe Cold Fusion 8 Std version 8,0,1,195765
Microsoft SQL Server 2005
Java version 1.6.0_04
The VM host our local webserver that serves about 70 local users.
I am facing random freezing of the local website.
Most times when website freeze, I use Process Explorer and found that when jrun,exe is at 50% cpu and another 48% by everything else.
Can someone advise what action I can take to fix the random freezes?
Thanks and Regards,
I guess you well understand the vendor nil support status for Microsoft with Windows 2003 and SQL 2005, Adobe with CF8 and Oracle with Java 6.
Having said that CF8.0.1 would seem patched up. Perhaps Java 6u04 could be patched up to say 6u45 (as best I recall). I don't think CF8 supported Java 7.
You might like to perform some Java monitoring against the CF Java to check if those high CPU cycles are Full garbage collections. Perhaps one of the memory spaces is not sized well for type of load. From your Java monitoring you might notice one of the spaces could do with an adjustment.
Yes, almost everything installed on the VM has been "EOL"
I will install Java 6u45 after office hour.
Which Java monitoring software would you recommend?
Thanks and Regards,
You could do some traditional Java logging to a file. Add these to CF jvm.config (take of copy of by way of backup) and restart CF:
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -verbose:gc -Xloggc:cfjvmGC.log
Creates a log file in ColdFusion\runtime\bin\cfjvmgc.log
Other ways to read the log file. Get GCViewer tool to graphically examine the file contents:
You can also use JDK tools Jconsole or Jvisualvm (maybe JMC - JDK8 release so might not be compatible). CF jvm.config (ditto backup) would need these:
-Dcom.sun.management.jmxremote.port=N (N=port number) -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
Thanks i have installed Java 6u45 & edited JVM.config to add that GC line.
Will monitor GClog for a few days.
Also double thanks for your earlier answer back in 2010.
Thanks and Regard,
Look first for any outofmemory errors in the CF logs. Since you're on CF8 Std, look in the [coldfusion8]\runtime\logs (not the [coldfusion8]\logs). If you see none within minutes before you stopped or killed the hanging CF instance, then memory may not be your issue.
The next most likely explanation would be hanging requests, and you want to both confirm that and find the cause. And while Carl's recommendation of jvm tools (and the jmx args) is one free route, those tools won't be nearly as useful to find out WHAT requests are hanging and WHY as would be a tool like FusionReactor or SeeFusion, both of which offer free trials and still work with CF8. They could both tell you what requests are running and what they are waiting for, either at a moment or over time or via email alerts.
If you have to solve this and don't want to figure it all out on your own, there are also consultants (like myself, and others here) who can help you directly. I list them at cf411.com/cfconsult, and I myself can say that I often solve such problems very quickly (less than an hour) and I offer a satisfaction guarantee (you won't pay for time that is not valuable). I also have no time minimum and can work remotely (via shared desktop with no need to open remote access to me directly).
But if the info above helps get you going or leads to simple questions we can answer here, and you have time to wait for that over the weekend, we should be able to get you going here.