监控使用内存或CPU前十名进程脚本(文末附有sort和top命令详解)

 

一、监控目的

掌握系统进程对系统资源的使用情况,掌握机器动态

 

二、监控方法

 

1、监控命令:

ps(静态)

top(动态)

 

2、监控方法

通过对任务管理器中的进程对内存或CPU的使用情况进行整合,排序得出结论

 

三、监控实现

 

[root@CentOs shell]# cat memory_cpu_use_top10.sh
#! /bin/bash

#统计系统中前十名使用内存最多的进程

memory(){

#1、收集任务管理器进程信息
    temp_file=`mktemp memory.XXX`
    top -b -n 1 > $temp_file
    #或者 ps aux > $temp_file(两种方法选一个)

#2、按进程统计内存使用大小


#tail -n +2 $temp_flime |awk '{array[$11]+=$6}END{for (i in array) print array[i],i}' |sort -k 1 -n -r|head -10
tail -n +8 $temp_file |awk '{array[$NF]+=$6}END{for (i in array) print array[i],i}' |sort -k 1 -n -r|head -10

rm -rf $temp_file
}



#统计系统中前十名使用CPU最多的进程

cpu(){

#1、收集任务管理器进程信息
    temp_file=`mktemp memory.XXX`
    top -b -n 1 > $temp_file
    #或者 ps aux > $temp_file(两种方法选一个)

#2、按进程统计cpu使用大小


#tail -n +2 $temp_flime |awk '{array[$11]+=$6}END{for (i in array) print array[i],i}' |sort -k 1 -n -r|head -10
tail -n +8 $temp_file |awk '{array[$NF]+=$9}END{for (i in array) print array[i],i}' |sort -k 1 -n -r|head -10

rm -rf $temp_file
}


echo memory
memory
echo cpu
cpu

[root@CentOs shell]#

 

附:

一、sort命令

1、sort的定义:
sort将文件的每一行作为一个单位相互比较,比较原则是从首字符向后依次按ASCII码进行比较,最后将它们按升序输出。

2、选项
(1)-u:在输出行中排序并去除重复行。

(2)-r:逆序排序。
说明:sort默认的排序方式是升序的,如果想改成降序,就需要加个-r。

(3)-o:将排序结果写入文件中。
说明:由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。但是,如果你想把排序结果输出到原文件中,用重定向就不行了。

如:sort -r file3 -o file3

(4)-n:按数值排序。
说明:如果按字符排序,当10与2比较时,排序程序会先比较1和2,这样就会出现10放在2前面的情况。所以,最好指明排序的方式。

(5)sort的-t选项和-k选项:
   命令格式:sort -t ‘分隔符’ -k ‘指定列数’

如:

sort -nt ';' -k 3 file3(以“;”作为分隔符,对第三列进行数值排序

 

 

二、top命令

1,相当于Windows下的资源管理器,能够动态实时的显示系统中进程的资源占用情况

2、在Linux终端上输入top命令出现的结果及其表示的含义如下图:

 

 

 

3、top命令常用的选项参数有:

选项 功能
-d 指定每两次屏幕信息刷新之间的时间间隔,如希望每秒刷新一次,则使用:top -d 1(默认5秒)
-p 通过指定PID来仅仅监控某个进程的状态(如:top -p 1  查看进程号为1的进程)
-S 指定累计模式
-s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险
-i 使top不显示任何闲置或者僵死的进程
-c

显示整个命令行而不只是显示命令名

 

 

 

 

 

 

 

 

 

top -b p 2>/tmp/top.txt   表示将top进程表在/tmp/top.txt中打印两次。
-q top没有任何延迟时间的进行刷新。如果调用程序有超级用户权限,top将会以尽可能高的优先级运行。

 

posted @ 2022-04-21 22:45  屯子里唯一的架构师  阅读(1103)  评论(0编辑  收藏  举报