MySQL服务器Swap占用

        最近几天,zabbix服务器性能监控一直报警MySQL服务器Swap占用超过50%,对于MySQL服务器来说使用swap会严重影响数据库性能。

        通过free命令查看内存使用情况,信息如下:

                              total       used              free           shared    buffers     cached

        Mem:      32880188   32628976     251212        644     286996    6747344

        -/+ buffers/cache:   25594636    7285552

        Swap:         4095996    1963920    2132076

        分析如下:

        第一行:总内存32G,使用近32G,剩余250M,shared644K(弃用),buffer280M,cached6.7G

        第二行:实际占用内存25.5G,实际可用内存7.2G

        第三行:Swap总共4G,使用了近2G,剩余2G。

 

        buffer和cache的区别:

        buffer是写缓存,cache是读缓存。

 

        -/+ buffers/cache意义:

        第一列的值=used-buffers-cached:表示实际内存被占用情况。

        第二列的值=free+buffers+cached:表示系统可释放的内存资源。

 

        由以上的参数可以看出:系统还有7G多的内存可释放,因此可判断占用swap空间的原因是swappiness参数配置问题:

        查看swappiness参数:

        shell> cat /proc/sys/vm/swappiness

        60

        60是默认值,swappiness的取值范围是0-100,数值越小表示越倾向使用物理内存,数值越大越倾向使用swap。由于这台服务器是MySQL数据库服务器,配置了较大的物理内存32G,在这种大内存的情况下,swappiness设置为60是显然不合适的,于是做以下调整:

        shell> echo 10 > /proc/sys/vm/swappiness

        将swappiness的值设为10(最小可设为0),如果要永久生效,编辑/etc/sysctl.conf上添加vm.swappiness=0这个参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值