性能问答>JVM freeze! 是JVM Bug?>
1回复
3年前

JVM freeze! 是JVM Bug?



环境

JVM args:
-Xmx6144m -Xms6144m -verbose:gc -Xloggc:/home/logs/moa-service/live-rec-engine/gc-19152.log -XX:+AlwaysPreTouch -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/logs/moa-service/live-rec-engine -XX:+PrintGCDateStamps -XX:ParallelGCThreads=8 -XX:ConcGCThreads=2 -XX:G1ReservePercent=10 -XX:-OmitStackTraceInFastThrow -XX:MaxGCPauseMillis=50 -XX:+UseCGroupMemoryLimitForHeap

JVM: java version “1.8.0_192”
Java™ SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot™ 64-Bit Server VM (build 25.192-b12, mixed mode)

OS:CentOS Linux release 7.4.1708 (Core)
Kernel:Linux bjdx-platform-kube-node-b115.prod.bjdx.momo.com 4.19.84-300.el7.x86_64 #1 SMP Thu Nov 21 16:14:47 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Docker:
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-103.git7f2769b.el7.centos.x86_64
Go version: go1.10.3
Git commit: 7f2769b/1.13.1
Built: Sun Sep 15 14:06:47 2019
OS/Arch: linux/amd64
Experimental: false

现象

  1. 该JVM不再输出任何日志,包括应用日志和GC日志
  2. 由于JVM不再响应,Top显示只有一个GC线程单核跑满(接近100%),其他线程CPU使用率为0
  3. 火焰图信息如下, 看起来是 ygc 在复制阶段 offer_termination 没有按照预期返回true退出导致

image.png

image.png

3276 阅读
请先登录,查看1条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步