答案1
在 中top
,您可以按c显示整个命令,然后使用→查看有关该命令的更多信息,其中可能包括正在执行的 Java 类的名称。
结果按其 CPU 使用率排序(%CPU
)。如果您希望以其他方式对结果进行排序,您可以运行top -o <name of the colum>
(例如top -o PID
按进程 ID 排序,或top -o %MEM
按使用的内存量对进程进行排序)。
您也可以运行ps aux | fgrep java
来查看所有正在运行的java
进程。
答案2
sudo ls -l /proc/PID/exe
将显示其位置,这将有助于定位相关的应用程序。
答案3
我花了一段时间试图找到一个占用了我所有 CPU 的类似进程。如果您最近在本地计算机上使用过 docker,请务必检查占用所有 CPU 的进程是否来自 docker。
sudo docker container ls` to see running containers
跑步
sudo docker stop <container-name>
阻止它,
sudo docker rm <container-name>
将其删除。
答案4
我遇到过类似的问题,Java 的 CPU 使用率超过了 100%,我在 Ubuntu 上运行 Eclipse IDE,并且在 Ubuntu 上启动了构建过程,这导致了此问题。
构建过程在后台运行,因为文件太多,导致 Java 的 CPU 使用率超过 100%。当我停止构建过程时,它就冷却下来并恢复正常。
然后我从 Eclipse IDE 菜单为项目设置自定义构建设置
Project > Build working set > Select Working Set
现在创建一个自定义构建工作集并忽略具有太多不需要构建的文件的目录,然后为项目选择该新工作集。
希望它能对某人有所帮助。