Ner*_*nux 16 command-line cpu-load
我有一个单核 VPS,其平均负载有时会超过 25。当它达到那个速度时,它变得慢得无法忍受,甚至命令运行dash
,它比 更快,使用更少的 RAM bash
,也需要一段时间才能运行。如何追踪导致高负载的进程?
小智 22
您可以安装htop
. 好消息htop
是它会显示您每个 CPU 的使用情况,以及您的内存和交换使用情况的有意义的文本图。
安装htop
:
sudo apt-get install htop
Run Code Online (Sandbox Code Playgroud)
启动它:
htop
Run Code Online (Sandbox Code Playgroud)
按F6
对进程进行排序,然后使用您可以选择的导航键PERCENT_CPU
并按 Enter。
或者您可以通过top
这种方式使用(来源):
top -b -n 1 | head -n 12
Run Code Online (Sandbox Code Playgroud)
des*_*ert 11
以下仅从Unix.SE中窃取:如果CPU使用率超过60%,请查找CPU使用率最高的进程?,虽然当然适应了这个问题。
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
Run Code Online (Sandbox Code Playgroud)
这给出了具有 CPU 使用率>0.0
百分比的进程列表,您可以根据需要更改此值,例如>50.0
. 每行包含 CPU 使用百分比、PID 和进程文件。
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Run Code Online (Sandbox Code Playgroud)
这显示了NR<=5
当前导致最多 CPU 负载的前 5 个 ( ) 进程。