Hey Guys,

If you're JVM is running out of memory then there are 3 main reasons in my
experience

1. You are putting too much stuff into memory, normal cause is that you are
running a lot of queries.
2. You have unvar'd variables in a CFC
3. Perm size too small

The size of the heap is a function of tuning the JVM based on how your
specific application uses memory. Quick rule would be to give it as much as
you can.  There are other factors such as garbage collection and Perm
memory. You might find upping the perm size can fix things, the perm is like
an index of stuff in the heap and can also run out of memory, early version
of CF came with a silly perm size which was way too small.

In the days of CF6 we were plagued by performance issues which drove me to
invest a huge amount of time to figure out why and then have enough material
to write a book on the subject. Since then the following have resolved most
issues:

1. We addressed the issues in our code base causing the issues ( many of
which we didn't know would cause us an issue at the time of writing them)
2. We tuned servers based on a simple profiler
3. Got our customers to read my book and figure out site specific issues
themselves

On top of this other major factors that have helped :

1. New versions of Java (1.4,1.5 and 1.6 all had big performance
improvements)
2. New versions of CF (CF8 rocks for performance)
3. Memory and CPU power of servers increasing

We very seldom have to deal with performance issues these days and have much
larger applications running and a lot more clients so one or all of the
above helped for sure.

As a few people a month still purchase my book (and the Mrs lets me have it
as my beer money) I'm not feeling charitable enough to give out to the
community just yet but should maybe blog a few pointers.

Grant












On Tue, May 13, 2008 at 7:40 PM, Kai Koenig <[EMAIL PROTECTED]> wrote:

>
> Heya,
>
> I've given a MXDU presentation on that stuff in 2005
> (<http://www.bloginblack.de/archives/000630.cfm>) - Slide 34
> actually has a few good references to read up on the topic if
> you like.
>
> Basically - I can't agree more to Stephen - JVM settings can
> ruin your performance if done wrongly and they can improve
> your performance as soon as your systems architecture derives
> from the standard environment.
>
> Not sure which JVM you're on, here's another good read for
> 1.4.2: <http://java.sun.com/docs/hotspot/gc1.4.2/>
>
> Cheers
> Kai
>
>
> >On May 12, 12:07 pm, "Steve Onnis" <[EMAIL PROTECTED]> wrote:
> >> Can someone shed some light on what the JVM Heap Size is actually meant
> to
> >> do?  For example, if I set it to the max heap size of 512mb, does that
> mean
> >> that the actual memory consumed by the jrun.exe should not exceed 512mb
> ?
> >>
> >> I have an issue where if the jrun.exe memory usage goes over say 600mb
> the
> >> cf server just dies and stops responding unless I restart the cf server
> and
> >> its driving me bananas.
> >>
> >> Anyone got any ideas?
> >
> >Is this single-processor, multi-processor?  Have you got any settings
> >for Garbage Collection (concurrent,parallel copying, parallel
> >scaveging?)
> >I got a copy of "CFMX troubleshooting and Optimization" by some Nu
> >Zeelun dude (hello Grant) and it says
> >"If you are using more than one processor than the selecting the
> >correct collector can have a major impact on JVM"
> >
> >regards,
> >Stephen
> >>
> >> Steve
> >>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"cfaussie" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cfaussie?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to