原文地址 MySQL and swapping
在使用 MySQL 过程中你是否遇到过 swap 空间问题?这个问题真的很讨厌,这里有一些可能的解决方案:
-
追踪内存使用,尝试使用下面的查询识别瓶颈。堆零的问题(zero in on the problem heap)不是一个简单的工作。在运行期有一些临时表被创建。估计 OS cache 也被系统使用了, MYISAM 表不容易。
SELECT ( @@key_buffer_size + @@query_cache_size + @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size + @@innodb_log_buffer_size + 80 * ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@binlog_cache_size + @@thread_stack + @@tmp_table_size ) ) / (1024 * 1024 * 1024) AS MAX_MEMORY_GB;
-
配置 swappiness 成 10 或者是 15,默认的是 60.
cat /proc/sys/vm/swappiness 可以给出你系统上的当前 swappiness 值
设置 Numa interleaving 成 ON,读下面的链接明白 NUMA 架构 和 swapping 之间的相互关系
http://blog.jcole.us/2010/09/28/mysql-swap-insanity-and-the-numa-architecture/
http://www.percona.com/doc/percona-server/5.5/performance/innodb_numa_support.html
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。