MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > linux / 正文

Linux 如何找出最耗CPU或内存的10个进程

2024-11-26 15:17 huorong linux 4 ℃ 0 评论

如何找出最耗CPU的10个进程

方法1

ps aux | grep -v '%CPU' | sort -rn -k3 | awk '{ print $1,$2,$3,$11 }' | head -n 10

拆解命令

  • grep -v '%CPU':输出不含%CPU的全部行。即:过滤掉含%CPU的全部行。
  • sort -rn -k3:对输入数据,按第3列,以数字的方式进行降序排序。-k 3是指第3列,-n是指将列值转换为数字,-r是降序(desc)。
  • awk '{ print $1,$2,$3,$11 }':从输入数据中,选取第1列,第2列,第3列,第11列输出。
  • head -n 10:从输入数据中,选取排在前面的10行数据输出。

命令执行结果如下所示

root@hgdm:~# ps aux | grep -v '%CPU' | sort -rn -k3 | awk '{ print $1,$2,$3,$11 }' | head -n 10
root 659890 2.3 /usr/local/aegis/aegis_client/aegis_11_19/AliYunDun
mysql 994722 0.5 /usr/sbin/mysqld
helper 1117825 0.4 /data/web/m.xyz.com/env/bin/python
helper 1117760 0.4 /data/web/m.xyz.com/env/bin/python
helper 1117730 0.4 /data/web/m.xyz.com/env/bin/python
helper 1117832 0.3 /data/web/m.xyz.com/env/bin/python
helper 1117821 0.3 /data/web/m.xyz.com/env/bin/python
helper 1117814 0.3 /data/web/m.xyz.com/env/bin/python
helper 1117807 0.3 /data/web/m.xyz.com/env/bin/python
helper 1117788 0.3 /data/web/m.xyz.com/env/bin/python

方法2

ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head -n 10

命令执行结果如下所示

root@hgdm:~# ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head -n 10
    PID    PPID      CMD                         %CPU %MEM
 659890       1       /usr/local/aegis/aegis_clie  2.3  0.8
 994722       1        /usr/sbin/mysqld                0.5  6.9
1117730 1117715 /data/web/m.xyz.com/env  0.4  0.6
1117760 1117715 /data/web/m.xyz.com/env  0.4  0.6
1117825 1117715 /data/web/m.xyz.com/env  0.4  0.6
1117725 1117715 /data/web/m.xyz.com/env  0.3  0.6
1117727 1117715 /data/web/m.xyz.com/env  0.3  0.5
1117729 1117715 /data/web/m.xyz.com/env  0.3  0.5
1117731 1117715 /data/web/m.xyz.com/env  0.3  0.6

方法3

top -b -c -o +%CPU | head -n 20

方法4 执行top命令,然后按P键

# 按q键: 退出
# 按c键: 在显示程序命令路径和程序名称之间切换
# 按P键(是大写P,不是小写p): 按CPU占用率降序排序
# 按M键(是大写M,不是小写m): 按内存占用率降序排序
top

如何找出最耗内存的10个进程

方法1

ps aux | grep -v '%MEM' | sort -rn -k4 | awk '{ print $1,$2,$4,$11 }' | head -n 10

命令执行结果如下所示

root@hgdm:~# ps aux | grep -v '%MEM' | sort -rn -k4 | awk '{ print $1,$2,$4,$11 }' | head -n 10
mysql 994722 6.9 /usr/sbin/mysqld
root 239 3.1 /lib/systemd/systemd-journald
root 659890 0.8 /usr/local/aegis/aegis_client/aegis_11_19/AliYunDun
helper 1117832 0.6 /data/web/m.xyz.com/env/bin/python
helper 1117825 0.6 /data/web/m.xyz.com/env/bin/python
helper 1117814 0.6 /data/web/m.xyz.com/env/bin/python
helper 1117807 0.6 /data/web/m.xyz.com/env/bin/python
helper 1117788 0.6 /data/web/m.xyz.com/env/bin/python
helper 1117760 0.6 /data/web/m.xyz.com/env/bin/python
helper 1117759 0.6 /data/web/m.xyz.com/env/bin/python

方法2

ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%mem | head -n 10

命令执行结果如下所示

root@hgdm:~# ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%mem | head -n 10
    PID    PPID CMD                         %CPU %MEM
 994722       1 /usr/sbin/mysqld             0.5  6.9
    239       1 /lib/systemd/systemd-journa  0.0  3.1
 659890       1 /usr/local/aegis/aegis_clie  2.3  0.8
1117759 1117715 /data/web/m.xyz.com/env  0.3  0.6
1117807 1117715 /data/web/m.xyz.com/env  0.3  0.6
1117731 1117715 /data/web/m.xyz.com/env  0.3  0.6
1117738 1117715 /data/web/m.xyz.com/env  0.3  0.6
1117825 1117715 /data/web/m.xyz.com/env  0.4  0.6
1117760 1117715 /data/web/m.xyz.com/env  0.4  0.6

方法3

top -b -c -o +%MEM | head -n 20

方法4 执行top命令,然后按M键

# 按q键: 退出
# 按c键: 在显示程序命令路径和程序名称之间切换
# 按P键(是大写P,不是小写p): 按CPU占用率降序排序
# 按M键(是大写M,不是小写m): 按内存占用率降序排序
top

Tags:查看linux内存使用情况

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言