正德厚生,臻于至善

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

在日常管理中,我们经常会遇到swap分区使用比较多,那么导致是那些进程使用的呢,其实我们可以通过/proc/pid/下的smaps来获得。使用下面的命令可以列出所有进程占用的swap分区的大小,分别我们分析问题。

for i in `cd /proc;ls | grep "^[0-9]" | awk ' $0 >100'` ; do printf "%-20s %-20s\n" "$(awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps )" "$(cat /proc/$i/cmdline)"; done 2>&1 | sort -k2nr | head

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 2>/dev/null ; done| sort -k2 -rn|head -20

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 2>&1 |sort -k2nr |head

获取到占用Swap分区比较多的PID,然后就可以通过PID获取到进程的相关信息了。
free -g
ps aux | grep ${pid}

转载:http://www.linuxhot.com/swap-used.html
赞(0) 打赏
未经允许不得转载:徐万新之路 » 查看哪些进程占用了SWAP分区?

评论 抢沙发

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫

微信扫一扫

登录

找回密码

注册