swap相关问题

在linux(Centos)服务器运行过程中常会碰到一些超出服务器物理内存极限的访问量,为维持服务器正常运作,可为服务器配置swap分区,用硬盘来缓冲内存紧张。

但访问峰值过后,被分配到SWAP分区中的数据并不会自动释放,当SWAP占用率超过30%就会对系统性能造成一定的影响。这种情况下需要手动刷新系统的SWAP分区来达到将SWAP分区中读取缓慢的数据转移到物理内存的目的。

刷新SWAP分区的命令:

swapoff -a && swapon -a

实例:

EG

附:关闭swap命令:

swapoff -a

开启swap命令:

swapon -a


 

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

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 


swap过高的问题解决

打开大的文件或物理内存被占用,都可能导致swap过高。 

 
查看系统打开的大文件列表 
lsof | awk 'NF == 9 { print $0}' | sort +6 -7nr | head  
 
查看打开文件的总大小:
lsof | awk 'NF == 9 { sum += $7} ;END {print sum/1024/1024/1024}' 

 

 

300*300
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00739 秒