【问题标题】:diagnosing why java on Centos (Tomcat) using 150% CPU while idle - JConsole?诊断为什么 Centos (Tomcat) 上的 java 在空闲时使用 150% CPU - JConsole?
【发布时间】:2012-07-05 23:56:59
【问题描述】:

我的 Tomcat/Centos 服务器上的 Java 进程在空闲时占用了 150% 的 CPU(没有人登录到我们的应用程序)

 PID  USER      PR  NI  VIRT  RES  SHR S %CPU  %MEM    TIME+  COMMAND                                                                                                                            
16917 administ  20   0 8936m 470m  12m S 141.8  3.0  22:29.31 /usr/java/jdk1.6.0_31/bin/java 

我可以使用 JConsole 连接到 java 实例,我可以看到正在运行的线程列表,但我如何确定哪些线程/任务正在使用所有 CPU?
注意:CPU 问题似乎不是由 GC 引起的。

是否有我可以调用的 MBean?

【问题讨论】:

  • 这是最近的吗?可能只是闰秒问题...

标签: java tomcat centos


【解决方案1】:

如果您使用 JVisualVM,您可以查看哪些线程处于活动状态并获得这些线程的堆栈跟踪。

您也可以启用 CPU 监控,但这会降低您的应用程序的速度。 (如果用的不多应该没问题)

【讨论】:

  • 我喜欢 VisualVM - 但在这种情况下,问题是 Linux 上 Java 的闰秒错误。还是谢谢
猜你喜欢
  • 2015-01-18
  • 1970-01-01
  • 2012-05-18
  • 2013-01-13
  • 2020-02-05
  • 1970-01-01
  • 1970-01-01
  • 2021-07-26
相关资源
最近更新 更多