CMS Garbage collection eating up processor power
Michael Finocchiaro
michael.finocchiaro at gmail.com
Thu Mar 27 21:30:19 UTC 2008
It also occurs to me that if you are running 5 JVMs on the same box,
and using ParNewGC, you probably need to limit the threads available
for YoungGC because the defaults will give you #cpus in GC threads for
each JVM and generally this causes kernel thread contention to rise. I
usually limit the GC threads with ParallelGCThreads=2 and check my
YoungGC times. With the current setup, do you see sys% rising over 20
or 30% under load in top?
Fino
Sent from my iPod
On 27 mars 08, at 21:50, Jon Masamitsu <Jon.Masamitsu at Sun.COM> wrote:
> To go along with this idea trying to more effectively use
> the young generation to filter out objects (i.e., lower the
> amount that gets into the tenured generation), you need to
> set MaxTenuringThreshold. Please see
>
> http://blogs.sun.com/jonthecollector/entry/the_fault_with_defaults
>
>
>
> Michael Finocchiaro wrote:
>> I think your Eden is too small (should be 1/4 of -Xmx for CMS and you
>> are at about 1/9 or 1/10...) and that the CMS is filling up too fast
>> because to many objects are prematurely aged into Old. If you
>> increase
>> -Xmn and decrease the SurvivorRatio to 4, how does it behave? I
>> guess it
>> really depends on the lifespan of your objects. Are you ever
>> getting to
>> the TenuringThreshold with your objects before they are promoted to
>> Old?
>> I think you'd need at least -XX:+PrintGCDetails -XX:
>> +PrintGCTimeStamps
>> and possibly (albeit it is VERY verbose) -XX:
>> +PrintTenuringDistribution
>> to find out.
>> Fino
>> Cheers,
>> Fino
>>
>> On Thu, Mar 27, 2008 at 6:39 PM, Jon Masamitsu <Jon.Masamitsu at sun.com
>> <mailto:Jon.Masamitsu at sun.com>> wrote:
>>
>> Using CMS sometimes needs some tuning (especially
>> with the 1.4.2 jdk). Do you have any gc logs
>> (-XX:+PrintGCDetails) so we can see what's happening?
>>
>>
>> T.K wrote:
>>> Hi All,
>>> We got 5 Sun Web Servers running on Java 1.4.2, and used to use the
>>> default GC for Tenured space. The problem with that is that it takes
>>> 60-80 seconds everytime the GC happens, and the latency on the
>> site goes
>>> crazy. So we decided to change it to use the Concurrent Mark Sweep
>>> Collector on one server to test it out. Here's the setting:
>>>
>>> -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Xms3G -Xmx3G
>> -XX:NewSize=384M
>>> -XX:MaxNewSize=384M -XX:PermSize=64M -XX:MaxPermSize=64M
>>> -XX:CMSInitiatingOccupancyFraction=60
>>>
>>> With that setting, the server runs great. But eventually, when the
>>> server reach a medium load (around 100-200 users), the tenured
>> space is
>>> always around half full, and the CMS collector starts to run
>>> continuously one after another. It doesn't hurt the application
>> for now,
>>> but it's taking 25% of processing time (we got 4 cpu, so one web
>> server
>>> always keep 1 cpu power). I don't see that much cpu utilization
>> on other
>>> web server that don't have CMS, and they have more users than the
>>> one
>>> with CMS. If we got CMS on all 5 web servers, I'm wondering if
>> that will
>>> crash the server or not. What should I do to decrease the processor
>>> utilization caused by GC?
>>>
>>> Also, I'm thinking to use i-CMS on the JVM, and maybe that might
>>> slow
>>> down the CMS and reduce the amount of CPU utilization by CMS. Any
>> thought?
>>>
>>> Thanks,
>>> TK
>>>
>>>
>>>
>>
>> ---
>> ---------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> hotspot-gc-use mailing list
>>> hotspot-gc-use at openjdk.java.net
>> <mailto:hotspot-gc-use at openjdk.java.net>
>>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>> _______________________________________________
>> hotspot-gc-use mailing list
>> hotspot-gc-use at openjdk.java.net <mailto:hotspot-gc-use at openjdk.java.net
>> >
>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>>
>>
>>
>>
>> --
>> Michael Finocchiaro
>> michael.finocchiaro at gmail.com <mailto:michael.finocchiaro at gmail.com>
>> Mobile Telephone: +33 6 67 90 64 39
>> MSN: le_fino at hotmail.com <mailto:le_fino at hotmail.com>
> _______________________________________________
> hotspot-gc-use mailing list
> hotspot-gc-use at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
_______________________________________________
hotspot-gc-use mailing list
hotspot-gc-use at openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
More information about the hotspot-gc-dev
mailing list