一、背景

找出占用高的进程

使用脚本编写找出占用CPU的进程

二、分析

1、查看进程

top

输入后按C,就可以列出

【Shell脚本案例】案例5:找出CPU/内存率占用高的进程_自定义

其他:

ps aux

【Shell脚本案例】案例5:找出CPU/内存率占用高的进程_自定义_02

 

 2、思路

awk进行排序,如top10

即ps aux |awk '{print $3}'

排序后为:ps aux |awk '{print $3}'  |sort  -r |head -n 10

【Shell脚本案例】案例5:找出CPU/内存率占用高的进程_bash_03

 

 3、ps自带排序功能

查看:man ps ,

输入/sort就能找到指定的文字,-o参数可以用户自定义输出格式,如ps -ao pid

ps -eo pid,pcpu,pmem,args

【Shell脚本案例】案例5:找出CPU/内存率占用高的进程_输出格式_04

 

 ps -eo pid,pcpu,pmem,args --sort pcpu

查看前10

 ps -eo pid,pcpu,pmem,args --sort pcpu |head -n 10

三、脚本实现

#!/bin/bash
echo '--------cpu top 10---------'
ps -eo pid,pcpu,pmem,args --sort=pcpu |head -n 10
echo '--------memory top 10---------'
ps -eo pid,pcpu,pmem,args --sort=pmem |head -n 10

执行

chmod +x 5.sh

./5.sh

 


作者:哥们要飞​