It took a little head scratching to get the latest 1.4.2 Jrockit JVM running on CFMX6.1 under RHEL4, so I thought I'd outline what I did to hopefully prevent future hair-pulling. This is also for my own reference when I ultimately forget what I did a year from now and have to set this up on another box ;)
Jrockit has so far performed wonderfully for us. The startup time is orders of magnitude faster than the 1.4.2 sun JVMs, and avg request times are down a little. Most notably, garbage collection pauses have so far vanished. We were having some real problems with the Sun JVM pausing with our large -Xmx values. We're still using CFMX 6.1, but the following should work on CFMX 7 too. 1. Download Jrockit Jrockit 5.0 is available, but likely doesn't work since sun's JRE 1.5 doesn't. Perhaps if you're on CFMX7 it's possible to use this one. The one that works for sure is Jrockit 1.4.2_SDK Linux The last version was 1.4.2_11 R26.4.0-63 Download from: http://commerce.bea.com/products/weblogicjrockit/accept_terms142.jsp 2. Install to /opt/coldfusionmx/runtime Just save it as "/opt/coldfusionmx/runtime/jrockit_jre" or something 3. Modify /opt/coldfusionmx/bin/jvm.config Backup the original. * Change the following: java.home=/opt/coldfusionmx/runtime/jrockit_jre java.args=-server -DJINTEGRA_NATIVE_MODE -DJINTEGRA_PREFETCH_ENUMS -Xbootclasspath/a:{application.home}/lib/webchartsJava2D.jar -Djava.awt.graphicsenv=com.gp.java2d.ExHeadlessGraphicsEnvironment -Xmx800m -Xms800m -Xgc:gencon [ use your own settings, of course. note that I was having pause issues with the default garbage collector, so I switched to -Xgc:gencon. So far it is working like a charm. Fingers crossed. ] 4. Rename a directory Rename /opt/coldfusionmx/runtime/jrockit_jre/jre/lib/i386/jrockit to /opt/coldfusionmx/runtime/jrockit_jre/jre/lib/i386/server Why? Because CFMX likes it that way. It will puke on a "can't find JVM" error if you don't. 5. Clean out the old classes Jrockit might get grumpy at stuff compiled by your previous JVM. So do a rm -f /opt/coldfusionmx/wwwroot/WEB-INF/cfclasses/* 6. Edit startup script Not sure what distributions of linux this applies to, but I couldn't get Jrockit to work on RHEL4 without doing this step. You can always try restarting the server now, and if it pukes then try this change. Edit /opt/coldfusionmx/bin/coldfusion script. Comment out "export LD_ASSUME_KERNEL". Jrockit doesn't like that being defined at startup on our version of RH. 7. Restart the server And it should do good, impressive things. Regards, Terry ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Linux/message.cfm/messageid:4220 Subscription: http://www.houseoffusion.com/groups/CF-Linux/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.14
