为什么JVM会突然缩小eden空间并扩大旧空间? 导致性能问题

问题描述

我们正在 docker/k8s 环境中运行 java/spring boot 微服务的 3 个副本。在没有任何问题的情况下运行数天后,由于 cpu 使用率极高和 gc 暂停非常高,这 3 个中的一个变得非常慢。一个引起我注意的特定奇怪指标是 jvm(无论出于何种原因)决定缩小伊甸园空间并扩大旧代。 (大约 6 倍)

即使在重新启动 pod/容器后,也会出现奇数 eden/old gen 比率和极端的 cpu 使用率。三个副本服务于相同的请求,只有三个副本中的一个表现出这种行为。

什么会导致这种行为? (jvm 参数是 -Xmx5900m -xms5g)

(在此 screenshot间的 14:15 和 14:20 之间出现问题)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...