阅读量:341
在Linux服务器上,监控CPU占用率高的进程对于确保系统性能和稳定性至关重要。当不关注这些高负载进程时,它们可能会拖慢系统速度,甚至耗尽内存资源。因此,识别系统中哪些进程消耗了最多的CPU和内存是非常重要的。以下是两种查看Linux服务器上CPU占用率高的进程的方法。
方法一:使用top命令
top命令能够实时地显示系统中所有进程的CPU使用率和内存消耗情况,并以降序排列。以下是使用top命令的示例输出:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18795 root 20 0 57636 2936 2592 R 100.0 0.1 26:19.90 java
18785 root 20 0 57636 2936 2592 R 99.6 0.1 26:19.81 java
18776 root 20 0 57636 2936 2592 R 99.3 0.1 26:19.75 java
18767 root 20 0 57636 2936 2592 R 99.0 0.1 26:19.66 java
18758 root 20 0 57636 2936 2592 R 98.7 0.1 26:19.58 java
请注意,top会持续更新,直到您通过按下Ctrl+c来停止它。如果您更喜欢交互式界面,htop命令提供了类似的功能,并且支持垂直和水平滚动。
方法二:使用ps命令
ps命令也可以用来找出哪些进程占用了最多的内存。以下命令将列出按CPU使用率和内存消耗排序的顶级进程:
sudo ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
这个命令的输出类似于:
PID PPID COMMAND %MEM %CPU
18795 18783 java 0.1 100.0
18785 18783 java 0.1 99.6
18776 18783 java 0.1 99.3
18767 18783 java 0.1 99.0
18758 18783 java 0.1 98.7
在这个命令中,我们使用了-e选项来列出所有进程,o选项来指定输出格式,--sort选项来按%mem字段进行降序排列。