目录
一、脚本要求
二、检查本地服务器状态
1.检查系统版本
2.检查系统内核版本
三、配置脚本注释模板
1.编辑 .vimrc 文件
2.检查模板生效情况
四、编写ps_aa.sh脚本
五、查看脚本效果
一、脚本要求
1.统计服务器上各状态进程的数量;
2.列出占用 cpu 最高的前10个进程;
3.占用内存最高的前10个进程。
二、检查本地服务器状态
1.检查系统版本
[root@node ~]# cat /etc/centos-release CentOS Linux release 7.6.1810 (Core)
2.检查系统内核版本
[root@node ~]# uname -r 3.10.0-957.el7.x86_64
三、配置脚本注释模板
1.编辑 .vimrc 文件
[root@node ~]# cat .vimrc autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()" func SetTitle() if expand("%:e")=='sh' call setline(1,"#!/bin/bash") call setline(2,"##########################################################") call setline(3,"#File Name:".expand("%")) call setline(4,"#Version:V1.0") call setline(5,"#Aurhor:jqzheng") call setline(6,"#Emali:[email protected]") call setline(7,"#Created Time:".strftime("%F %T")) call setline(8,"#Description:") call setline(9,"##########################################################") call setline(10,"") endif endfunc [root@node ~]#
2.检查模板生效情况
#!/bin/bash ########################################################## #File Name:test.sh #Version:V1.0 #Aurhor:jqzheng #Emali:[email protected] #Created Time:2023-10-31 07:46:42 #Description: ##########################################################
四、编写ps_aa.sh脚本
[root@node ~]# cat ps_aa.sh #!/bin/bash ########################################################## #File Name:ps_aa.sh #Version:V1.0 #Aurhor:jqzheng #Emali:[email protected] #Created Time:2023-10-31 07:46:42 #Description: Count the number of processes ########################################################## PROCS=$(ps -axo stat |wc -l) RUNNING=$(ps -axo stat |grep R |wc -l) STOPED=$(ps -axo stat |grep T |wc -l) SLEEPING=$(ps -axo stat |grep S |wc -l) ZOMBIE=$(ps -axo stat |grep T |wc -l) BACKSTAGE=$(ps -axo stat |grep + |wc -l) echo "进程统计信息如下:" echo "总进程数量为:$PROCS" echo "Running 进程数为:$RUNNING" echo "Stoped 进程数为:$STOPED" echo "Sleeping 进程数为:$SLEEPING" echo "Zombie 进程数为:$ZOMBIE" echo "backstage 进程数为:$BACKSTAGE" # cpu echo "###########################################" echo "占用 cpu 最高的前10个进程:" ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # mem echo "################################################" echo "占用 mem 最高的前10个进程:" ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
五、查看脚本效果
[root@node ~]# sh ps_aa.sh 进程统计信息如下: 总进程数量为:225 Running 进程数为:1 Stoped 进程数为:1 Sleeping 进程数为:225 Zombie 进程数为:1 backstage 进程数为:7 ########################################### 占用 cpu 最高的前10个进程: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND mongod 12433 0.4 1.5 1610824 121692 ? Sl 03:28 1:19 /usr/bin/mongod -f /etc/mongod.conf root 9399 0.2 0.7 1108600 56028 ? Ssl 03:28 0:36 /usr/bin/containerd root 11884 0.2 1.1 1523996 88824 ? Ssl 03:28 0:45 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock polkitd 16687 0.1 0.1 52812 9888 ? Ssl 03:28 0:23 redis-server *:6379 rtkit 8996 0.0 0.0 198792 1812 ? SNsl 03:28 0:00 /usr/libexec/rtkit-daemon rpc 8987 0.0 0.0 73648 1380 ? Ss 03:28 0:00 /sbin/rpcbind -w root 9588 0.0 0.2 293616 23704 tty1 Ssl+ 03:28 0:00 /usr/bin/X :0 -background none -noreset -audit 4 -verbose -auth /run/gdm/auth-for-gdm-7cZ5A4/database -seat seat0 vt1 root 9453 0.0 0.0 0 0 ? S 08:01 0:00 [kworker/u256:0] root 9406 0.0 0.0 481316 4524 ? Ssl 03:28 0:00 /usr/sbin/gdm root 9405 0.0 0.0 25904 956 ? Ss 03:28 0:00 /usr/sbin/atd -f ################################################ 占用 mem 最高的前10个进程: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND gdm 13798 0.0 1.6 3297904 131500 ? Sl 03:28 0:10 /usr/bin/gnome-shell polkitd 16724 0.0 1.5 1483076 127120 ? Ssl 03:28 0:13 mysqld --max-allowed-packet=128M --innodb-log-file-size=64M mongod 12433 0.4 1.5 1610824 121692 ? Sl 03:28 1:19 /usr/bin/mongod -f /etc/mongod.conf root 11884 0.2 1.1 1523996 88824 ? Ssl 03:28 0:45 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock root 9399 0.2 0.7 1108600 56028 ? Ssl 03:28 0:36 /usr/bin/containerd root 21541 0.0 0.3 288980 31072 ? S 03:29 0:01 /usr/sbin/apache2 -f /etc/apache2/apache2.conf -DFOREGROUND root 16699 0.0 0.3 254360 24496 ? Ssl 03:28 0:00 node app.js 33 21545 0.0 0.3 291424 27116 ? S 03:29 0:01 /usr/sbin/apache2 -f /etc/apache2/apache2.conf -DFOREGROUND root 9588 0.0 0.2 293616 23704 tty1 Ssl+ 03:28 0:00 /usr/bin/X :0 -background none -noreset -audit 4 -verbose -auth /run/gdm/auth-for-gdm-7cZ5A4/database -seat seat0 vt1 root 9395 0.0 0.2 1005808 16832 ? Ssl 03:28 0:00 /usr/sbin/libvirtd