子进程处于高负载状态

子进程处于高负载状态

我需要知道为什么这个子进程占用了我 208% 的 CPU。我认为找到它的路径名是个好主意。您知道如何找到它吗?

4910 root 20 0 9691M 2006M 7924 R 208. 12.2 15:17.23 
java -server -d64 -Xmx4G -jar spigot.jar nogui -o false 

原始截图

答案1

由于这是一个java过程,所以答案的一半就在您提供的屏幕截图中。这部分就在这里:

-jar spigot.jar

因此,当该java进程启动时,该spigot.jar文件位于其当前工作目录 (CWD) 中。现在您只需确定 CWD 是什么。有很多方法可以做到这一点,我将介绍两种:

使用/proc

ls -ld /proc/4910/cwd

注意:根据需要替换“4910”。PID 可以并且将在重新启动和重新启动服务时发生变化。

/proc/PROCESS-ID/cwd将是该进程的 CWD 的符号链接。

另一种方法是使用lsof

lsof -P -n -p 4910 | grep cwd

答案2

我没有返回您需要的进程。执行以下命令:

ps auxfww

并找到该过程,它将返回程序使用的带有参数的完整路径。

相关内容