java进程在gc之前停止

h43kikqp  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(394)

我们正在生产环境中运行hbase hmaster进程。通常日志文件中有这么多日志。但是对于一个特定的周期,没有任何记录,我们认为gc发生了。正如所料,gc发生在那个时候,但不是整个时期。
例如,gc从32:24开始,持续25.53秒。但是我没有32:06到32:49的记录。我想知道gc之前发生了什么。它似乎也“阻止了世界”。
如果进程正在运行,我肯定hmaster会写日志。是cpu时间的问题吗?我怎么知道?

wz8daaqr

wz8daaqr1#

试试这个: -server -d64 -Xms10240m -Xmx10240m -XX:PermSize=512M -XX:MaxPermSize=512M -XX:NewSize=5120m -XX:MaxNewSize=5120m -XX:-UseAdaptiveSizePolicy -XX:+UseParNewGC -XX:SurvivorRatio=20 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+OptimizeStringConcat -XX:ParallelGCThreads=8 -XX:ConcGCThreads=8 -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:+ParallelRefProcEnabled -XX:+CMSScavengeBeforeRemark -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="${bundled.server.access.log}" -Xloggc:"${bundled.server.access.log}"/java_gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution 此设置使您的伊甸园空间+幸存者=5gb和旧世代=5gb。删除maxdirectmemorysize参数,因为jvm会自动缩放直接内存缓冲区

相关问题