我在两台不同的机器上运行了一段java代码,但是在其中一台linux机器上,代码使用了大量的CPU (接近100%的cpu使用率)。在另一台计算机上,相同的代码使用的cpu较少(不足3%至4%)。cpu使用率高的机器是一台更强大的机器,更多的CPU和更多的内存。这种情况最近已经开始发生,在cpu使用率高的机器上,性能明显下降。我想知道,如果有人有任何想法,为什么会发生这样的事情,可能的原因,等等,任何猜测?没有对硬件进行最近的更改,也没有最近的代码更新。
发布于 2012-04-14 00:56:08
如果怀疑硬件故障,请检查dmesg是否有任何输出。根据硬件供应商的不同,可能会有某种IPMI实现(比如戴尔的DRAC),它的web接口将显示硬件故障。
老实说,这可能是应用程序中的一个bug。“增加计时器挂钩,找出瓶颈。”
发布于 2012-04-24 00:47:35
LB请求已发送到部署了的NODE1 NODE1 HW SPEC1 NODE1应用程序
LB请求已发送到部署了的NODE2 NODE2 HW SPEC2 NODE2应用程序
如果确实如此,那么您需要考虑的是,在应用程序中发送的请求中的数据模式已经发生了变化。
再次检查LB用于分发呼叫的方案,验证它不依赖于数据。
在JVM上运行jProfiling,在OS上运行Top或类似的JVM,并监视mysql日志文件。
https://serverfault.com/questions/379358
复制相似问题