在日常管理中,我们经常会遇到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
查看哪些进程占用了SWAP分区?
未经允许不得转载:徐万新之路 » 查看哪些进程占用了SWAP分区?
最新评论
这个牛
放下欲望,男人从来不醉,充分且必要
勇气、责任、自信、创新,为天下先!
软件即数据,软件即服务,软件即管理,软件就是对人类各种社会活动的仿真和记录。软件很重要,但软件不可能凌驾于业务之上,尤其不可能高人一等。