You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Azuryy Yu <az...@gmail.com> on 2012/12/09 10:55:28 UTC

Please review my GC options, and give me some advice.

hi,
I found sometimes yong gc is very slow, it paused more than 14 seconds.
GC log:
1383.531: [GC 1383.531: [ParNew: 235968K->26176K(235968K), 14.1752210 secs]
1518208K->1356662K(4168128K), 14.6084490 secs] [Times: user=9.77 sys=0.14,
real=14.61 secs]
Total time for which application threads were stopped: 14.6241190 seconds

jstat : (jstat -gc -h 10 20010 1000)

          S0C    S1C    S0U    S1U      EC       EU        OC
OU       PC     PU    YGC     YGCT    FGC    FGCT     GCT
          26176.0 26176.0 26176.0 26176.0 209792.0 209792.0 3932160.0
1315008.8  163840.0 22007.9    434  330.795  14      3.943  334.738
         26176.0 26176.0 26176.0 26176.0 209792.0 209792.0 3932160.0
1315008.8  163840.0 22007.9    434  330.795  14      3.943  334.738
         26176.0 26176.0 26176.0  0.0   209792.0   0.0    3932160.0
1330486.2  163840.0 22007.9    434  344.970  14      3.943  348.913

Eden, S0, S1 are all full, then yong gc paused more than 14 seconds. please
give me some advice, appreciate much!

1) I used:
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

2) My JVM options as follow(yong objects have a short life generally, so
-Xmn256m):
-Xmx4g -Xms4g -Xmn256m  -server -verbose:gc -XX:+PrintGCTimeStamps
-XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime
-XX:-HeapDumpOnOutOfMemoryError -XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=9 -XX:GCLogFileSize=20m -XX:+DisableExplicitGC
-XX:+UseCompressedOops -XX:PermSize=160m -XX:MaxPermSize=160m
-XX:GCTimeRatio=19 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=6 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0
-XX:+CMSClassUnloadingEnabled -XX:CMSMaxAbortablePrecleanTime=300
-XX:+CMSScavengeBeforeRemark
-XX:ErrorFile=/usr/local/hase/logs/rs_error_gc.log
-Xloggc:/usr/local/hbase/logs/rs_gc.log
-XX:HeapDumpPath=/usr/local/hbase/logs/rs_error.hprof

RE: Please review my GC options, and give me some advice.

Posted by Jain Rahul <ja...@ivycomptech.com>.
1) From these params young gc size is very low.  Set the -Xmn with a higher memory let's say 1g. if your data is short lived than long-lived then you can try it making 2g or less.
2) Since -XX:SurvivorRatio is 8 here so both   Survivors getting 1/8 of young gc (i.e allocated to -Xmn). Have them something like -XX:SurvivorRatio=3.
3) Can have -XX:TargetSurvivorRatio=90
4) Why u don't try ParallelOldGC since your heap size 4g is not very high, this algo should able to keep it up. It by default enables AdaptiveSizePolicy to automatically adjust the survivors spaces, in that case you don't need  -XX:SurvivorRatio option.

Regards,
Rahul

-----Original Message-----
From: Azuryy Yu [mailto:azuryyyu@gmail.com]
Sent: 09 December 2012 15:25
To: user@hbase.apache.org
Subject: Please review my GC options, and give me some advice.

hi,
I found sometimes yong gc is very slow, it paused more than 14 seconds.
GC log:
1383.531: [GC 1383.531: [ParNew: 235968K->26176K(235968K), 14.1752210 secs]
1518208K->1356662K(4168128K), 14.6084490 secs] [Times: user=9.77
1518208K->sys=0.14,
real=14.61 secs]
Total time for which application threads were stopped: 14.6241190 seconds

jstat : (jstat -gc -h 10 20010 1000)

          S0C    S1C    S0U    S1U      EC       EU        OC
OU       PC     PU    YGC     YGCT    FGC    FGCT     GCT
          26176.0 26176.0 26176.0 26176.0 209792.0 209792.0 3932160.0
1315008.8  163840.0 22007.9    434  330.795  14      3.943  334.738
         26176.0 26176.0 26176.0 26176.0 209792.0 209792.0 3932160.0
1315008.8  163840.0 22007.9    434  330.795  14      3.943  334.738
         26176.0 26176.0 26176.0  0.0   209792.0   0.0    3932160.0
1330486.2  163840.0 22007.9    434  344.970  14      3.943  348.913

Eden, S0, S1 are all full, then yong gc paused more than 14 seconds. please give me some advice, appreciate much!

1) I used:
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05) Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

2) My JVM options as follow(yong objects have a short life generally, so
-Xmn256m):
-Xmx4g -Xms4g -Xmn256m  -server -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime
-XX:-HeapDumpOnOutOfMemoryError -XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=9 -XX:GCLogFileSize=20m -XX:+DisableExplicitGC -XX:+UseCompressedOops -XX:PermSize=160m -XX:MaxPermSize=160m
-XX:GCTimeRatio=19 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=6 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:CMSMaxAbortablePrecleanTime=300
-XX:+CMSScavengeBeforeRemark
-XX:ErrorFile=/usr/local/hase/logs/rs_error_gc.log
-Xloggc:/usr/local/hbase/logs/rs_gc.log
-XX:HeapDumpPath=/usr/local/hbase/logs/rs_error.hprof
This email and any attachments are confidential, and may be legally privileged and protected by copyright. If you are not the intended recipient dissemination or copying of this email is prohibited. If you have received this in error, please notify the sender by replying by email and then delete the email completely from your system. Any views or opinions are solely those of the sender. This communication is not intended to form a binding contract unless expressly indicated to the contrary and properly authorised. Any actions taken on the basis of this email are at the recipient's own risk.