linux下查看swap分区被哪些进程占用实现脚本

 更新时间:2013年02月27日 16:59:25   作者:  
登录一台服务器,使用free命令查看内存,却发现swap分区被占用,到底是哪些进程占用了这部分swap分区,本文将解决你的疑惑,感兴趣的你可以参考下
相信很多的系统管理员可能都遇见过这样的情况,用登录一台服务器,使用free命令查看内存,却发现swap分区被占用。那么到底是什么进程占用了这部分swap分区呢?

从2.6.16版本的kernel开始,我们可以使用proc文件系统中的smaps来查找这个问题。下边是一个列出所有进程占用swap分区情况的列表。可以通过简单修改就可以用于统计在/proc/$PID/smaps查出。以下是脚本:
复制代码 代码如下:

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

相关文章

最新评论