MySQL运行环境中,当发现系统已经用到了swap,该怎么处理?
Posted 周万春
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL运行环境中,当发现系统已经用到了swap,该怎么处理?相关的知识,希望对你有一定的参考价值。
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,该怎么处理?的主要内容,如果未能解决你的问题,请参考以下文章