列举出一小时内占用的cpu最多的10个进程

本文介绍如何利用Shell脚本监控一小时内占用CPU最多的十个进程,通过ps指令收集进程信息,优化长期占用CPU的进程,提高系统效率。此外,还分享了一个列出网络上所有活动主机的Shell实例,强调了Shell在系统监控中的实用性和便利性。
摘要由CSDN通过智能技术生成

CPU是一种很重要的资源,如果能够跟踪某个阶段内占用的CPU最多的进程,通过监视一段时间内的CPU使用情况,我们可以找出长期占用CPU的进程并对其进行优化,提高CPU使用效率,我们知道ps指令适用于收集进程详细信息,接下来我们就来通过使用ps指令来监视并计算一分钟内CPU使用情况,shell代码如下:

#!/bin/bash

SECS=60
UNIT_TIME=5

STEPS=$(( $SECS / $UNIT_TIME ))
echo Watching CPU usage...;
for((i=0;i<STEPS;i++))
do
    ps -eo comm,pcpu | tail -n +2 >> /tmp/cpu_usage.$$
    sleep $UNIT_TIME
done

echo
echo CPU eaters:
cat /tmp/cpu_usage.$$ | \
awk '
{ process[$1] += $2; }
END{
    for(i in process)
    {
        printf("%-20s%s\n",i,process[i]);
    }
}' | sort -nrk 2 | head
rm /tmp/cpu_usage.$$

测试结果

CPU eaters:
glance-registry     321.5
glance-api          246.5
polkitd             63.6
dbus-daemon         34.8
console-kit-dae     32.4
su                  23
NetworkManager      18
ksoftirqd/
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值