一、查看swap内存被哪些进程占用(输出单位是MByte)
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内存
法1,重启占用swap的进程
法2,关闭swap分区(有时候并不能查看到哪些进程占用swap,则需要先关闭swap分区再开启)
三、关闭swap分区注意事项和步骤
1,确保系统空闲内存大于swap已用内存
2,可以先清理内存cache,空出足够内存(echo "1" > /proc/sys/vm/drop_caches)
3,关闭swap分区(swapoff -a),这个过程需要等待
4,swap分区释放后,恢复swap分区(swapon -a)
5,恢复内存cache的设置(echo "0" > /proc/sys/vm/drop_caches)
原文出自:http://blog.csdn.net/daiyudong2020/article/details/78572306
End;