Linux Shell: 统计系统中占用Swap 的程序PID和占用大小

Posted on 2015-07-27 10:57  NooBkey  阅读(328)  评论(0)    收藏  举报
#!/bin/bash 
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"`
do
    PID=`echo $DIR | cut -d / -f 3`
    PROGNAME=`ps -p $PID -o comm --no-headers`
    for SWAP in `grep Swap $DIR/smaps 2>/dev/null | awk '{ print $2 }'`
    do
        let SUM=$SUM+$SWAP
    done
    if (( $SUM > 0 )); then
        echo "PID=$PID swapped $SUM KB ($PROGNAME)"
    fi
    let OVERALL=$OVERALL+$SUM
    SUM=0
done
echo "Overall swap used: $OVERALL KB"

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3