On 9/28/06, Richard Kroll <[EMAIL PROTECTED]> wrote: > Hello all, > > I remember a post not too long ago talking about the JVM and it's max > size on a windows 32bit server having a celing of 1.3gb. We've got a > server that has 3gb of ram, and about 1.8gb of that is going unused even > under peak load. One of my colleagues decided to up the -XmxNx value of > the JVM to 2gb to attempt to allocate more memory and increase > performance. This caused CF to fail on startup, and once the setting > was lowered, CF started fine again. As is understand it there are three > major settings to tweak in the JVM (where N is the memory size) and > please forgive me as I'm new to JVM configuration: > > > > -XmsNm - minimum GC size > > -XmxNm - maximum GC size > > -XX:MaxPermSize=Nm - the maximum permanent size > > > > For our application we have quite a large number of objects stored in > the application scope and would like to increase the amount of ram > allocated to jrun / JVM. Am I correct in that increasing the > MaxPermSize from its default of 128m to a larger amount (say 512m) will > increase the available memory of the JVM for objects being stored for a > much longer period of time (like those in application scope)? Our > current settings for our JVM are: > > > > -Xms512m > > -Xmx1024m > > -XX:MaxPermSize=128m > > > > We are not getting a ton of GC that is degrading performance, but we > seem to be having the system slow down dramatically when JRun / JVM hits > the 1gb mark. So our thought was to raise the amount of memory in the > JVM available to JRun. Am I right in my understanding of the > differences in the settings? > > >
Hi Rich, I think this blog entry by Robi Sen is something you might want to read through (and follow some of the reference links in it, too). It's really is a great source of information regarding JVM and JRun tuning: http://www.robisen.com/index.cfm?mode=entry&entry=FD4BE2FC-55DC-F2B1-FED0717CC1C7E0AF One thing I remember somebody from Adobe saying (I think it was Sarge at CFUNITED, but I could be wrong) is that using the application scope doesn't necessarily mean that the object is placed in the Permanent Generation. So don't assume that a lot of application variables means that you need to have a larger Perm Heap size. Also, you definitely want to have your min and max Heap size set to equal values. This avoids the JVM having to incrementally allocate the appropriate memory resources as the application memory usage grows. One other thing to note. The default settings that come in the jvm.config file, according to Adobe, are settings that they have observed over thousands of hours of testing to be the optimal settings. I don't necessarily agree with that because hardware resources vary greatly as do the applications themselves, but definitely use them as a reference check to make sure you're not going of the deep end. Hope this helps? Regards, Dave. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| 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-Talk/message.cfm/messageid:254627 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4