swap分区占用情况脚本

Posted 知_行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swap分区占用情况脚本相关的知识,希望对你有一定的参考价值。

#在网上搜了个swap分区占用情况的脚本,用了感觉蛮好,特别留下来了,注释并优化之
echo ‘----------------------# ‘`date "+%Y%m%d %H%M"`‘ #----------------------------‘ for i in `ls -d /proc/* | grep -E ‘/[0-9]+$‘` #显示所有proc下的文件,并匹配该目录下所有以数字开头和结尾的文件 do pid=${i##/proc/} #匹配i变量的值,并删掉/proc/ ##是以最长匹配模式删除 if [ -f $i/cmdline -a -f $i/smaps ];then #如果存在那两个文件,-a表示两个表达式的并列 cmd=$(cat $i/cmdline) if [ "$cmd" == "" ];then cmd="NULL" fi swap=$(cat $i/smaps | grep ‘Swap‘ | awk ‘{gsub(/[^0-9]/,"",$1);S+=$2;}END{print S;}‘)
#gsub将一个域内不属于数字,全部用删除,第二个域相加(注意,域1的内容虽然被清空了,但域1,仍然存在,于是就成了"" 21 kb,数字那行仍属域2) if [ "$swap" == "" ];then continue fi echo "$cmd [$pid] => `echo $swap | awk ‘{print $1" KB",$1/1024" MB";}‘`" #格式化输出占用swap分区的进程 fi done

  

以上是关于swap分区占用情况脚本的主要内容,如果未能解决你的问题,请参考以下文章

Linux查看占用swap的进程脚本

centos7排查swap占用过高

查看哪些进程占用了SWAP分区?

linux下怎样释放内存swap分区满的情况

swap分区爆了解决办法(查看swap分区进程占用的内存)

查看cpu使用情况