gpt4 book ai didi

java - 空闲时 Eclipse 中的高 CPU 使用率

转载 作者:IT老高 更新时间:2023-10-28 20:45:35 31 4
gpt4 key购买 nike

在我的多核机器上,Eclipse 使用 100% 到 250% 的 CPU 功率,即使在新的普通安装和空工作区空闲时也是如此。实际做事时,它会变得缓慢且 react 迟钝。

我已尝试按照此处的建议设置内存设置:Eclipse uses 100 % CPU randomly .那没有帮助。我还尝试了不同的 Java 版本,即 OpenJDK 和 Oracle Java 7,以及 Eclipse 版本的 Juno 和 Indigo。我在 Ubuntu 12.04 LTS 上。

当我关闭 Eclipse 时,另一个可能不相关的问题是 Java 进程仍然保持打开状态,CPU 使用率超过 200%,需要手动终止。

最佳答案

我今天也遇到了同样的问题,原来是索引线程占用了 CPU。我最近在一个项目中添加了相当多的文件并且忘记了它。我意识到其他人不太可能有这个问题,但发布我如何调查它可能会很有用。

我正在使用基于 eclipse Juno 的 STS 运行 Ubuntu 12.10。

  1. 从命令行启动 eclipse 并将输出重定向到一个文件,这样我们就可以得到一个线程转储
  2. 稍等片刻,然后获取每个线程的 cpu 使用率列表: ps -mo 'pid lwp stime time pcpu' -C java.这是识别我的 CPU 饥饿线程的输出示例:

    PID LWP STIME TIME %CPU

    6974 - 07:42 00:15:51 133

    7067 07:42 00:09:49 86.1

  3. 将线程 id(在我的情况下为 7067)转换为十六进制 0x1b9b(例如,在命令行中使用:printf "0x%x\n"7067)

  4. 使用 kill -3 对 java 进程进行线程转储:kill -3 6974。输出保存在您启动 eclipse 时重定向 stdout 的文件中

  5. 打开文件并查找线程的十六进制 id:

    “链接索引器延迟写入 10”prio=10 tid=0x00007f66b801a800 nid=0x1b9b 可运行 [0x00007f66a9e46000]

    java.lang.Thread.State: RUNNABLE

    在 com.ibm.etools.references.internal.bplustree.db.ExtentManager$WriteBack.r

关于java - 空闲时 Eclipse 中的高 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11346357/

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