登录
首页 >  数据库 >  MySQL

聊聊MySQL和swapping产生的问题(附解决方案)

来源:SegmentFault

时间:2023-01-25 19:58:41 368浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个数据库开发实战,手把手教大家学习《聊聊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 之间的相互关系

扩展阅读

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>