TOP指令获取CPU或内存最高的进程

使用top指令,获取CPU/内存最高的进程,或者获取CPU/内存大于指定阈值的进程。

获取CPU大于70的进程(根据CPU占用大小,由高到低排序):

top -b -d 1 -n 1 |awk '{ if (NR > 6) print }' |awk '{ if ($9 > 70) print $1, $2, $9, $10}' | sort -rn -k +3

 

获取内存大于70的进程(根据内存占用大小,由高到低排序):

top -b -d 1 -n 1 |awk '{ if (NR > 6) print }' |awk '{ if ($10 > 70) print $1, $2, $9, $10}' | sort -rn -k +4

 

说明:

if (NR > 6) print   由于top指令会显示一些汇总的信息,这里是将其排除掉。如下格式内容:

top - 14:23:57 up 40 days,  5:39,  2 users,  load average: 0.01, 0.04, 0.00
Tasks: 111 total,   1 running, 110 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.5%us,  0.1%sy,  0.0%ni, 98.8%id,  0.6%wa,  0.1%hi,  0.0%si,  0.0%st
Mem:   4051924k total,  3796920k used,   255004k free,    47248k buffers
Swap:  2097144k total,       88k used,  2097056k free,  1347244k cached

PID  USER   PR  NI  VIRT    RES   SHR S %CPU %MEM    TIME+  COMMAND

    1  root      15   0    10356   680    576  S   0.0      0.0          0:00.83  init
    2  root      RT  -5     0         0        0      S   0.0      0.0          0:02.95  migration/0
    3  root      34  19     0         0        0      S   0.0      0.0          0:00.01  ksoftirqd/0
    4  root      RT  -5     0         0        0      S   0.0      0.0          0:00.00  watchdog/0

if ($10 > 70) print $1, $2, $9, $10    第10列的值(内存)大于70时,则输出第1/2/9/10列的值。

sort -rn -k +4   根据print $1, $2, $9, $10 结果中的第4列,进行倒序排序。

 

如果只需要最高的那一条记录,则在最后面加上 head -1即可。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值