> Linux教程 > linux基础 >

linux下查看哪些进程在占用swap分区的脚本

在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
(责任编辑:IT)