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

Posted on 2015-07-27 10:57  NooBkey  阅读(320)  评论(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"

 

Copyright © 2024 NooBkey
Powered by .NET 9.0 on Kubernetes