码迷,mamicode.com
首页 > 数据库 > 详细

MySQL运行环境中,当发现系统已经用到了swap,该怎么处理?

时间:2020-06-17 16:57:51      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:通过   权重   mys   ios   col   swapoff   设置   free   内核   

MySQL运行环境中,当发现系统已经用到了swap,该怎么处理?


一般来说,发生swap的原因是系统认为内存不够了。
那么,当物理内存真的不够了,或者著名的NUMA都是引起swap的可能原因。通常的应对方法有几种:
    1、通过BIOS、系统内核参数关闭NUMA,或者在mysqld启动时,利用numactl关闭NUMA的使用。
    2、调低系统使用swap的权重,设置内核参数 参数 vm.swappiness 不高s 不高于10。
    3、Linux下使用free命令查看内存使用情况,确认是否发生了内存泄露,可以去微信公众号「老叶茶馆」中发送“OOM”。
    4、修改MySQL参数innodb_flush_method = O_DIRECT,这样InnoDB在读写物理数据的时候会绕过cache来访问磁盘。
    5、优化SQL效率,避免产生额外的分组、排序、临时表情况发生,参考文章:文章:http://t.cn/EwLIuFv
    6、在【夜间或业务不繁忙】时适合执行 swapoff -a,并执行sync刷新操作系统内存脏页到硬盘。

 

MySQL运行环境中,当发现系统已经用到了swap,该怎么处理?

标签:通过   权重   mys   ios   col   swapoff   设置   free   内核   

原文地址:https://www.cnblogs.com/zhouwanchun/p/13153212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!