Skip to main content
Inspiring
January 31, 2011
Question

Deploying CF 9 Ent 64-bit on Windows 2008 64-bit

  • January 31, 2011
  • 3 replies
  • 3059 views

Hello,

I'm getting ready to migrate 20 or so websites from CFMX 6.1 Ent (Win 2k3) to CF 9 Ent 64-bit on Windows 2008 64-bit and was wondering if it made sense to tweak the jvm.config file. I looked around on Adobe's site for any guidance regarding "best practices" for JVM tuning under CF 9 but couldn't find anything. Also, most of the articles I've come across related to CF and modifying the JVM seem pretty dated. In any event, the server will have 32 GB of RAM and running a single processor, Quad Core Intel Xeon L5520 (Win 2008 Std 64-bit).

Can someone provide some insight regarding whether it's needed or even recommended to modify the JVM config?

TIA

    This topic has been closed for replies.

    3 replies

    Legend
    February 1, 2011

    Hello

    I did a talk recently on JVM.CONFIG related matters at the CFMEETUP site. There is a recording you can view:

    http://www.meetup.com/coldfusionmeetup/pages/Recordings%20of%20the%20ColdFusion%20Meetup-2010

    Like the others mention, it is an area that is hard to say do this or that in a quick forum entry. The “out of the box settings” may well suit your needs - so if it is not broken why touch it.

    On Win64 and CF9 64 I find adjustments to the maximum heap setting and MaxPerm settings are good, having said that the minimum settings are also important. You need to be aware of what is in the “OUT logs” and how the JVM is working to know if changes are useful or indeed needed.

    HTH, Carl.

    BalanceAuthor
    Inspiring
    February 2, 2011

    Thanks for the info guys. I'm in the process of going through the JVM recording to learn more about it.

    One thing I just noticed, though, is that setting up a new instance of CF through the default "cfusion" instance and clicking on the "Create Windows Service" checkbox doesn't actually create a service that I can see in the services applet (Windows 2003 server). I've also tried creating a new instance without clicking on the "Create Windows Service" checkbox and then registering the service using jrunsvc, and although it adds it to the services applet, the service doesn't seem to have any relationship to the newly created instance (even though I'm specifying the correct jrun server). I can verify this by stopping the service through the services applet and accessing the CF admin for the new instance. Very weird. Am I missing something?

    Thanks again

    Legend
    February 3, 2011

    Hi,

    Hope you enjoy the JVM talk. I put the slide deck back online after previously removing it so you can download.

    That instance creation and tick windows service box sounds about right. Seems to me you have changed from Win08 64bit to Win03? To be sure I have not installed CF9 64bit Enterprise muti-server on Win03 only Win08 64bit and not seen condition you mention. Perhaps others will comment more. Does the file system end up creating the folder structure eg \JRun4\servers\instance?

    HTH, Carl.

    Community Expert
    January 31, 2011

    My recommendation would be to leave it at the default settings unless you encounter problems. Then, based on the problems you encounter, you can make the appropriate changes to the JVM. In general, there's a lot less you have to worry about in a 64-bit environment because the heap can be so much larger.

    Dave Watts, CTO, Fig Leaf Software

    http://www.figleaf.com/

    http://training.figleaf.com/

    Dave Watts, Eidolon LLC
    BalanceAuthor
    Inspiring
    January 31, 2011

    Dave,

    Thanks for the info. If you don't mind me asking, what do you mean by: "In general, there's a lot less you have to worry about in a 64-bit environment because the heap can be so much larger." I read somewhere that it's "better" to set the min and max memory settings equal to each other. Is the heap related to this?

    Thanks again.

    Community Expert
    January 31, 2011

    The heap is the total memory available for storing objects. So, yes, it's related.

    Again, though, I wouldn't recommend changing anything unless you have a specific problem you need to solve, and unless you understand exactly what the ramifications of a specific change are. For example, setting the min and max memory the same may cause CF to take longer to start up, and may prevent CF from starting up in some specific environments. On the other hand, it will prevent CF from having to acquire memory at runtime. You are simply not going to find any settings that you should always set a specific way - otherwise, they'd just be set that way already in the product default.

    Dave Watts, CTO, Fig Leaf Software

    http://www.figleaf.com/

    http://training.figleaf.com/

    Dave Watts, Eidolon LLC
    ilssac
    Inspiring
    January 31, 2011

    Unfortunately you are probably not going to find any good general "best practice" guide to tweaking the JVM, because there is no one best way to tweak it that is globally useful.  Tweaking the settings are a very singular exercise that will depend on exactly  what hardware and software you are working with in your installation.

    The only best pratice guide I have ever seen is: to test, measure, tweak, test and measure.  Repeat.  Probably not enough to write up an entire guide about.