gpt4 book ai didi

java - java应用程序中的高CPU利用率-为什么?

转载 作者:IT老高 更新时间:2023-10-28 21:00:31 27 4
gpt4 key购买 nike

我有一个 Java 应用程序(基于 Web),它有时会在几个小时内显示非常高的 CPU 利用率(几乎 90%)。 Linux TOP 命令显示了这一点。应用程序重新启动后,问题就消失了。

所以要调查:

我使用 Thread Dump 来查找线程在做什么。有几个线程处于 'RUNNABLE' 状态,一些处于其他状态。在进行重复的线程转储时,我确实看到了一些始终处于 'RUNNABLE' 状态的线程。所以,他们似乎是罪魁祸首。

但我无法确定是哪个线程占用了 CPU 还是进入了无限循环(从而导致 CPU 利用率过高)。

日志不一定有帮助,因为有问题的代码可能没有记录任何内容。

我该如何调查 - 应用程序的哪个部分或哪个线程导致 CPU 使用率过高? - 还有其他想法吗?

最佳答案

如果分析器不适用于您的设置,您可以尝试按照 this post 中的步骤识别线程.

基本上分为三个步骤:

  1. 运行top -H,获取CPU最高的线程的PID。
  2. 将 PID 转换为十六进制。
  3. 在您的线程转储中查找具有匹配 HEX PID 的线程。

关于java - java应用程序中的高CPU利用率-为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811411/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com