ridiculous ParNew pause times
Cornelius Riemenschneider
cri at itscope.de
Wed Apr 9 11:26:30 UTC 2014
Hello,
we?ve got the following problem with the ParNew collector:
Our log.gc usually looks like this:
2014-04-09T12:58:02.485+0200: 77357.712: [GC2014-04-09T12:58:02.485+0200: 77357.712: [ParNew: 2722925K->100795K(3145728K), 0.3202010 secs] 6998057K->4375934K(21495808K), 0.3205670 secs] [Times: user=4.10 sys=0.02, real=0.32 secs]
2014-04-09T12:58:06.256+0200: 77361.483: [GC2014-04-09T12:58:06.257+0200: 77361.483: [ParNew: 2722235K->101011K(3145728K), 0.3229910 secs] 6997374K->4376165K(21495808K), 0.3233580 secs] [Times: user=4.13 sys=0.02, real=0.33 secs]
2014-04-09T12:58:12.295+0200: 77367.522: [GC2014-04-09T12:58:12.296+0200: 77367.522: [ParNew: 2722451K->101057K(3145728K), 0.3215320 secs] 6997605K->4376216K(21495808K), 0.3219080 secs] [Times: user=4.12 sys=0.01, real=0.32 secs]
2014-04-09T12:58:18.461+0200: 77373.688: [GC2014-04-09T12:58:18.462+0200: 77373.688: [ParNew: 2722497K->2232K(3145728K), 0.2944540 secs] 6997656K->4376242K(21495808K), 0.2948280 secs] [Times: user=3.79 sys=0.00, real=0.29 secs]
But occasionally we have entries like these:
2014-04-09T09:56:12.840+0200: 66448.066: [GC2014-04-09T09:56:38.154+0200: 66473.381: [ParNew: 3139808K->524288K(3145728K), 0.8355990 secs] 6845512K->4585563K(21495808K), 26.1502640 secs] [Times: user=5.59 sys=0.16, real=26.16 secs]
2014-04-09T09:57:09.173+0200: 66504.400: [GC2014-04-09T09:57:24.871+0200: 66520.098: [ParNew: 2950573K->488555K(3145728K), 0.1876660 secs] 8701082K->6239064K(21495808K), 15.8858250 secs] [Times: user=2.38 sys=0.00, real=15.89 secs]
2014-04-09T12:58:34.661+0200: 77389.888: [GC2014-04-09T12:59:06.390+0200: 77421.616: [ParNew: 2623439K->2083K(3145728K), 0.0292270 secs] 6997709K->4376490K(21495808K), 31.7578950 secs] [Times: user=0.34 sys=0.02, real=31.76 secs]
which I can?t explain at all.
The real time of 31.76sec equals a pause of 31.76secs, in which the jvm does not respond to user requests, which is obviously bad.
The application is _very_ allocation heavy, so generally pauses of 0.3sec are okay.
Our GC settings for this server are:
-Xms21g
-Xmx21g
-XX:ReservedCodeCacheSize=256m
-XX:PermSize=256m
-XX:MaxPermSize=768m
-server
-verbose:gc
-Xloggc:log.gc
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+ExplicitGCInvokesConcurrent
-XX:NewRatio=5
-XX:SurvivorRatio=5
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=40
-XX:+CMSClassUnloadingEnabled
-XX:+CMSScavengeBeforeRemark
-Dsun.rmi.dgc.client.gcInterval=1209600000
-Dsun.rmi.dgc.server.gcInterval=1209600000
We run the sun jdk 7u51 on a current debian wheezy.
We previously had issues with long ParNew pauses, but back then, the sys time was high, so we concluded that the server was swapping,
which we were able to prevent.
Do you have any idea or further hint at debugging options which might help us in finding the issue?
Regards,
Cornelius Riemenschneider
--
ITscope GmbH
Ludwig-Erhard-Allee 20
76131 Karlsruhe
Email: cornelius.riemenschneider at itscope.de
https://www.itscope.com
Handelsregister: AG Mannheim, HRB 232782
Sitz der Gesellschaft: Karlsruhe
Geschäftsführer: Alexander Münkel, Benjamin Mund, Stefan Reger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20140409/897ce009/attachment.html>
More information about the hotspot-gc-use
mailing list