Java进程cpu使用率增加

Java进程cpu使用率增加,java,optimization,cpu-usage,Java,Optimization,Cpu Usage,我有一个多玩家java游戏服务器。自从我上次添加代码以来,一切都很稳定。cpu使用率异常峰值的原因是什么?启动服务器后,大约为10-20%。一段时间后,比如1-2小时,cpu会跳到107%和207%,以此类推。10小时后,可能会达到1109%。 我用的是netty,c3p0。在功能强大的专用ubuntu机器上运行 提前感谢。请阅读以下内容: 可能您有某种形式的内存泄漏。没有细节很难回答,但一个好的开始是使用工具来诊断程序行为 使用JVisualVM(和JDK捆绑在一起)可以帮助您确定程序或垃圾收

我有一个多玩家java游戏服务器。自从我上次添加代码以来,一切都很稳定。cpu使用率异常峰值的原因是什么?启动服务器后,大约为10-20%。一段时间后,比如1-2小时,cpu会跳到107%和207%,以此类推。10小时后,可能会达到1109%。 我用的是netty,c3p0。在功能强大的专用ubuntu机器上运行

提前感谢。

请阅读以下内容:


可能您有某种形式的内存泄漏。

没有细节很难回答,但一个好的开始是使用工具来诊断程序行为

使用JVisualVM(和JDK捆绑在一起)可以帮助您确定程序或垃圾收集器是否使用了CPU


内存泄漏可能导致垃圾收集器过度运行。

在分析整个代码后,我发现在某些情况下可能会发生无限循环。JVisualVM帮我找到了这个bug


谢谢你的帮助。

如果不知道你的软件是如何工作的,很难回答这个问题。当我问这个问题时(15分钟前),内存保持不变,cpu为409%-410%。现在它显示了610%。僵局会导致这种情况吗?此图显示内存、cpu和平均负载。06:00是保养时间,所以当时使用率低。从这个内存/cpu视图,你能确定它是否可能是内存泄漏吗?有一个可能的无限循环,我找到了它,现在它被修复了。感谢分享JVisualVM。