首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux机器上的高CPU使用率

Linux机器上的高CPU使用率
EN

Server Fault用户
提问于 2012-04-14 00:16:33
回答 2查看 397关注 0票数 0

我在两台不同的机器上运行了一段java代码,但是在其中一台linux机器上,代码使用了大量的CPU (接近100%的cpu使用率)。在另一台计算机上,相同的代码使用的cpu较少(不足3%至4%)。cpu使用率高的机器是一台更强大的机器,更多的CPU和更多的内存。这种情况最近已经开始发生,在cpu使用率高的机器上,性能明显下降。我想知道,如果有人有任何想法,为什么会发生这样的事情,可能的原因,等等,任何猜测?没有对硬件进行最近的更改,也没有最近的代码更新。

EN

回答 2

Server Fault用户

发布于 2012-04-14 00:56:08

如果怀疑硬件故障,请检查dmesg是否有任何输出。根据硬件供应商的不同,可能会有某种IPMI实现(比如戴尔的DRAC),它的web接口将显示硬件故障。

老实说,这可能是应用程序中的一个bug。“增加计时器挂钩,找出瓶颈。”

票数 3
EN

Server Fault用户

发布于 2012-04-24 00:47:35

  • 验证在两个节点上部署的应用程序是否完全相同。
  • 在两个节点上验证JVM设置和应用程序配置在适当情况下是否相同
  • 验证硬件配置和规范在两个节点上是相同的。(CPU/RAM/磁盘)
  • 验证LB确实提供了循环服务。检查两个应用程序的日志文件,以检查传入的请求是否均匀分布。
  • 如果上面没有抛出任何内容,那么在慢速机器上运行jProfiler,并在可能的情况下向应用程序开发人员报告。
  • 监视两台机器上的所有进程。

LB请求已发送到部署了的NODE1 NODE1 HW SPEC1 NODE1应用程序

LB请求已发送到部署了的NODE2 NODE2 HW SPEC2 NODE2应用程序

如果确实如此,那么您需要考虑的是,在应用程序中发送的请求中的数据模式已经发生了变化。

再次检查LB用于分发呼叫的方案,验证它不依赖于数据。

在JVM上运行jProfiling,在OS上运行Top或类似的JVM,并监视mysql日志文件。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/379358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档