Peter Johnson [
https://community.jboss.org/people/peterj] created the discussion
"Re: Cpu 100% and GC is running"
To view the discussion, visit:
https://community.jboss.org/message/647424#647424
--------------------------------------------------------------
You will always have 100% CPU for GC because GC is a CPu and memory intensive operation.
Once a GC thread gets assigned to a CPU, it will run for its entire quantum because it
never breaks for IO or other things that cause regular application threads to give up the
CPU. Addtionally, onnce the GC thread is thrown off of the CPU because it quantum expired,
it gets right back in the queue thus get assigned a CPU almost immediately.
I do hope that you have 4 cores/CPUs in you box. You should never set GC threads to a
higher number than the number of cores/CPUs.
The preclean was aborted due to time restrictions. I would not worry about that, the sweep
is what really does the cleaning. This article ijmplies that it is best if the preclean
time span is long enough to encompass a minor collection, so you might first determine
your typical young gen GC intervaland then pick a CMSMaxAbortablePrecleanTime setting that
youu handle 90% of the cases.
Considering how quickly the GC finished, I suspect that you have very little garbage in
the tenured generation.
BTW, if you plan on running the server for more than an hour, either increase both of the
RMI gcintervals, or set -XX:+DisableExplicitGC
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/647424#647424]
Start a new discussion in Performance Tuning at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]