最近一台mysql机器晚上备份的时候总是出现swap告警,网上搜了一下mysql + swap 出了一堆结果。解决方案大致有这么一些:
1、修改swappiness的值,设为0;
2、mysql使用huge page。
在我自己遇到的问题里,出现swap是因为swappiness设置为60导致的:/etc/sysctl.conf里swappiness为0,/proc/sys/vm/swappiness为60(估计被人不小心改掉了)。
swap具体的原因和原理就不多说了,个人感觉taobaodba的2篇文章讲的比较清楚。
http://www.taobaodba.com/html/552_mysql_avoid_swap.html
http://www.taobaodba.com/html/554_mysql_avoid_swap_2.html
下面的一些链接多少都有重复,不过都有一些扩展,比如,使用ramdisk(ram as swap partition),memlock。