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.

Reply via email to