我有一个多人 java 游戏服务器。自从我上次添加代码以来,一切都运行稳定。异常 cpu 使用高峰的原因可能是什么?启动服务器后,大约是 10-20%。一段时间后,比如 1-2 小时,cpu 会跳到 107% 和 207% 等等。10 小时后,大概是 1109%。我正在使用netty,c3p0。在功能强大的专用 ubuntu 机器上运行它。
提前致谢。
我有一个多人 java 游戏服务器。自从我上次添加代码以来,一切都运行稳定。异常 cpu 使用高峰的原因可能是什么?启动服务器后,大约是 10-20%。一段时间后,比如 1-2 小时,cpu 会跳到 107% 和 207% 等等。10 小时后,大概是 1109%。我正在使用netty,c3p0。在功能强大的专用 ubuntu 机器上运行它。
提前致谢。
阅读: http: //m.javaworld.com/community/node/8036
可能你有某种形式的内存泄漏。
没有细节很难回答,但一个好的开始是使用工具来诊断程序行为。
使用 JVisualVM(与 JDK 捆绑)可以帮助您确定 CPU 是否被您的程序或垃圾收集器使用。
内存泄漏会导致垃圾收集器过度运行。
在分析了整个代码后,我发现在某些情况下可能会发生无限循环。JVisualVM 帮我找到了这个错误。
谢谢您的帮助。