[工具] Shell 显示使用 swap 的进程

介绍

基本信息

作者:朱明宇
名称:显示使用 swap 的进程
作用:显示使用 swap 的进程

使用方法

1. 给此脚本添加执行权限
2. 执行此脚本
3. 执行结果会输出到脚本同目录下的 swapcheck.txt 目录中

脚本

#!/bin/bash

echo > swapcheck.txt

for pid in `ls /proc/ | egrep ^[0-9] | awk '$0 > 100'`
do 

        ls /proc/$pid &> /dev/null
        
        if [ $? -ne 0 ];then
                continue
        fi

        size=`awk '/Swap:/{a=a+$2}END{print a}' /proc/$pid/smaps` 
        name=`ps -aux | egrep $pid`

        if [ -z $size ];then
                continue
        fi

        if [ $size -eq 0 ];then
                continue
        fi

        echo "$[size]k $pid \"$name\"" >> swapcheck.txt
        echo  >> swapcheck.txt

done