【发布时间】:2018-12-26 12:51:57
【问题描述】:
我们正在使用 java 8 在 jboss 7.2 beta 版本上运行 Web 应用程序, 由于 java 的 cpu 内存使用率高,服务在几个小时后(在 12-15 小时内)停止。当我们检查性能和 cpu 使用率为 99 % 到 100 % 时(附图)。 我经历了许多在不同站点上可用的许多解决方案,引用了这个“debugging JBoss 100% CPU usage”来获取转储,但我没有从那个转储中得到什么问题。
“我们在 sys 环境中有 java 6,但将 jboss 配置为使用 java 8(在独立 conf 中更改 java home)这可能是一个问题或导致使用高内存”
谢谢
【问题讨论】:
-
我会从
jstat -gccause {pid} 10s开始,看看它是否一直在进行GC。 Java 8 需要比 Java 6 多一点的堆,所以如果你不改变堆大小,你可能太接近满内存了。 -
你配置的JVM内存是多少?
-
set "JAVA_OPTS=-Xms1G -Xmx1G -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m" 这是我在 jboss 的配置文件中看到的 java 选项
-
HI @Peter Lawrey 上面的命令应该仅在 cpu 使用率达到 100% 时运行?或者我现在也可以检查吗? bcz 一旦我重新启动 jboss 一切都会正常,它会再稳定几个小时
-
@PeterLawrey 我看到它没有显示 Gc .attached sreenshot