In addition to Barry's helpful comments, I'll note something important about FusionReactor's memory graph, as contrasted to SeeFusion or that of the CF Server Monitor. As you clarified, Andrew, what you're referring to is the heap amount allocated and used. That is not the max amount. Fortunately, FusionReactor's memory graph reflects that as the top of the y axis of that graph, so if you mouse over the top of that graph it will tell you what the Max Heap Size is (and therefore no need to look at the JVM settings as Barry suggested, though those without that tool would want to do that.)
I say this is different from SF and the CF monitor because in both of those, the memory Max is not reflected on their memory graphs at all. They use the amount allocated as the top of their y axis. That can be disconcerting, because it may appear that one is running out of memory, when in fact you're just getting close to the amount allocated. I really like how FR shows all 3 numbers in its graph. Now, someone may want to point out that, yes, if you set the min heap size equal to the max heap size (a common recommendation), then there is no difference. In that case, the entire heap size is allocated at startup and therefore the top of the y axis in all 3 tools will reflect the max. Since the default in CF is not to have the min=max, though, this distinction of how to interpret the graph seem important. I can tell you it's a revelation to many when I point it out for them. Indeed, in your case, Andrew, you wondered about it: "memory usage is consistently up near the amount allocated. Eg. if I hover over it is says 176MB used, 216MB allocated." To that I'd point out, it sounds perfectly normal. When the min does not equal the max, then as Barry notes, the JVM will allocate just enough memory above what you need, and then release it over time. So you would always see the used and allocated growing and shrinking at approximately the same amounts. As for your 100% CPU problem, let's clarify that, since FR reports both CF and System CPU in the same graph. Which is it that's 100%? IF it's System CPU and not CF, then it tells you something outside of CF on that server is stealing CPU. If it is CF, then it would help to hear more. For instance, as for the spikiness, is there any pattern at all? Is it every few seconds, minutes? Every hour? Every hour and 7 minutes (which would coincide with the default client variable purge interval)? How long does it last when it does? Those may help, though doing this sort of problem-solving over a mailing list can be challenging, as there are a lot of opinions that can be triggered by various points you may share. You need to carefully sift through them to make sure they apply (even mine!). /charlie From: cfaussie@googlegroups.com [mailto:cfaus...@googlegroups.com] On Behalf Of Barry Chesterman Sent: Monday, February 01, 2010 5:27 AM To: cfaussie@googlegroups.com Subject: Re: [cfaussie] Re: CF7 (and 8) High CPU usage on production box The 216MB allocated should be the 'Heap' which is the memory the JVM gets to use. The 176MB is probably just the amount that is currently being used by the JVM. Could you paste in the JVM config line from the jvm.config file in Jrun / bin / folder? that should say what the maximum allowable memory for the JVM is. It could be that the 216 is the maximum you have allowed for the JVM (which seams rather small) or it could be the amount that the JVM has currently allocated itself at that particular point in time. Depending on your config, JVM will resize the heap itself depending on its needs. That is called 'adaptive' sizing and is what I believe the default for JRun. Barry. On Mon, Feb 1, 2010 at 11:11 PM, Andrew Myers <am2...@gmail.com> wrote: Hi Guys, Sorry this is turning into a long thread, but hopefully this will be something that benefits others as well. I've got Fusion Reactor running now, and I can notice quite a few spikes up to 100% CPU looking at the graph on the "System Metrics" page. Also, memory usage is consistently up near the amount allocated. Eg. if I hover over it is says 176MB used, 216MB allocated. That doesn't sound like much allocated to me. Exactly what memory does this refer to? The memory allocated to the JVM? Regards, Andrew. -- You received this message because you are subscribed to the Google Groups "cfaussie" group. To post to this group, send email to cfaus...@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en.