Linux swap 佔用分析指令碼

renjixinchina發表於2014-06-23

指令碼一

for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr

 

指令碼二

#!/bin/bash 

# Get current swap usage for all running processes 

# writted by xly 

 

function getswap {

SUM=0

OVERALL=0

for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/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

echo "PID=$PID - Swap used: $SUM - ($PROGNAME )" 

let OVERALL=$OVERALL+$SUM

SUM=0

 

done

echo "Overall swap used: $OVERALL" 

}

 

getswap

#getswap|egrep -v "Swap used: 0"

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-1192068/,如需轉載,請註明出處,否則將追究法律責任。

相關文章