Linux下使用Shell命令查看CPU占用率高的进程脚本

Linux下使用Shell命令查看CPU占用率高的进程脚本

#!/bin/bash
TOPK={{topk}}
SECS={{samplingTime}}
INTERVAL={{interval}}
STEPS=$(( $SECS / $INTERVAL ))
TEMP_FILE_PREFIX="/tmp/tat_public_cpu_usage"

echo Watching CPU usage...
for((i=0;i<$STEPS;i++))
do
  ps -eocomm,pcpu | tail -n +2 >> $TEMP_FILE_PREFIX.$$
  sleep $INTERVAL
done

echo
echo CPU eaters :
cat $TEMP_FILE_PREFIX.$$ | \
awk '
{ process[$1]+=$2;}

END{
  for(i in process) {
    printf("%-20s %s\n",i, process[i]) ;
  }
}' | sort -nrk 2 | head -n $TOPK

rm $TEMP_FILE_PREFIX.$$
参数名参数值描述
topk前k个进程
samplingTime采样时间, 单位秒
interval采样间隔时间, 单位秒

本脚本来自腾讯云

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注