我们在64位JVM上的Windows 2008 R2服务器上运行Operfire版本:3.9.1。 最近,我们开始在服务器上看到频繁的CPU峰值。占用大部分CPU时间的线程在
中的此偏移上被阻止JVM -
jvm!JVM_FindSignal+2d7d
我们没有看到任何内存不足异常。此外,CPU峰值通常在非高峰时段出现。作为此问题的第一个解决方案,我们最近将最大堆内存从1024mb增加到2048mb,但这似乎使得尖峰更频繁。服务器总共有8GB内存,其中4gb以上是免费的。 请参阅附件的JVM版本截图。
答案 0 :(得分:1)
jvm!JVM_FindSignal是JVM库中的内部函数,用于侦听来自本机操作系统的信号并返回Java。 信号可以是(SIGABRT,SIGFPE," SEGV",SIGSEGV,SIGINT,SIGTERM,SIGBREAK,SIGILL) 我们需要检查vmstat和iostat信息以实际找出实际问题。 您可以使用vmstat和我们将收到的io stat信息向http://bugreport.java.com/提交问题。 您正在使用JDK 8更新91.请升级到最新版本JDK8 update 112。