MySQL 和 swapping

原文地址 MySQL and swapping

在使用 MySQL 过程中你是否遇到过 swap 空间问题?这个问题真的很讨厌,这里有一些可能的解决方案:

  1. 追踪内存使用,尝试使用下面的查询识别瓶颈。堆零的问题(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;
    
  2. 配置 swappiness 成 10 或者是 15,默认的是 60.

    cat /proc/sys/vm/swappiness 可以给出你系统上的当前 swappiness 值
    
  3. 设置 Numa interleaving 成 ON,读下面的链接明白 NUMA 架构 和 swapping 之间的相互关系

扩展阅读

    原文作者:yexiaobai
    原文地址: https://segmentfault.com/a/1190000002432645
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞