[jboss-user] [Performance Tuning] - Re: Cpu 100% and GC is running

Peter Johnson do-not-reply at jboss.com
Wed Jan 18 12:21:18 EST 2012

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

Start a new discussion in Performance Tuning at Community

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20120118/f163c017/attachment.html 

More information about the jboss-user mailing list