swap使用过高的处理方法

1,051次阅读
没有评论

前言

随着中间件, 服务部署的越来越多, 内存使用也越来越多,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 使用过高的处理方法

swap 使用过高的处理方法

 


 

二 、调整 swap 参数

说明:/proc/sys/vm/swappiness

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

 

swap 使用过高的处理方法

 


总结

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

转自 https://blog.csdn.net/u014497669/article/details/127228048

微信扫描下方的二维码阅读本文

正文完
 0
柹子丶
版权声明:本站原创文章,由 柹子丶 于2023-05-27发表,共计612字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码