Swap使用过高问题排查

目录

前言

一 、查询出swap占用高的程序

二 、调整swap参数

总结


前言

  随着中间件,服务部署的越来越多,内存使用也越来越多,swap也占用的越来越多,如何排查出占用swap过高的程序呢?


一 、查询出swap占用高的程序

执行一下命令,可以查看使用较高的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 2>/dev/null ; done | sort -k2nr |head

找到对应服务的pid,然后查到对应的服务

Swap使用过高问题排查_第1张图片

 Swap使用过高问题排查_第2张图片


 

二 、调整swap参数

说明:/proc/sys/vm/swappiness

内核参数vm.swappiness控制换出运行时内存的相对权重,参数值大小对如何使用swap分区有很大联系。值越大,表示越积极使用swap分区,越小表示越积极使用物理内存。默认值swappiness=60,表示内存使用率超过100-60=40%时开始使用交换分区。swappiness=0的时候表示最大限度使用物理内存,而后才是 swap空间;swappiness=100的时候表示积极使用swap分区,并把内存上的数据及时搬运到swap空间。

Swap使用过高问题排查_第3张图片

 


总结

此处对于swap占用程序的分析以及对于swap如何使用做了简单分析

你可能感兴趣的:(linux,linux)