linux下查看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

你可能感兴趣的:(linux下查看swap分区被哪些进程占用实现脚本)