求助>到达 Safepoint 时间长达 96 秒>
5回复
6月前

到达 Safepoint 时间长达 96 秒



虚拟机日志
CleanShot 20200319 at 15.56.592x.png

sync = spin + block + 其他

不知道“其他”是哪些因素导致的呢?

已经开启:

-XX:+SafepointTimeout -XX:SafepointTimeoutDelay=2000

但是没有打印出相关信息。

JVM 类型:

Java HotSpot(TM) 64-Bit Server VM (25.121-b13) for linux-amd64 JRE (1.8.0_121-b13)

虚拟机参数:

-Xms5529m -Xmx5529m -XX:MaxDirectMemorySize=2663m -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintPromotionFailure -XX:+PrintGCCause -XX:+PrintSafepointStatistics -XX:PrintSafepointStatisticsCount=1 -XX:+SafepointTimeout -XX:SafepointTimeoutDelay=2000
876 阅读
请先登录,再评论

回复列表

你假笨6月前

可以看看那会的IO吗

你假笨5月前
回复 江户川:

因为进入安全点的触发动作就只有一个线程(VMThread)会执行,所以也只会有一个核占用比较高也正常,这个持续过程如果能抓到,并通过perf跟踪下那会的情况就好了,sys高肯定有有问题的,这个已经和你写得java代码没有关系了

回复
江户川5月前
回复 你假笨:

笨神你好,后来又出现了很多这样的情况,IO 看起来是正常的,但是 CPU 的某个核的 sys 达到 100%,这个程序的 JVM 是在 yarn 的 container 中运行的。cpu 某个核 sys 过高会是 Java 程序本身的原因吗?应该怎么排查呢

回复
左温6月前

期待大佬解读

江户川6月前

补充一下使用的GC算法:-XX:+UseParallelGC