当前位置:首页 >时尚 >关于MySQL内存泄露如何排查的一些思路 还有MySQL本身缺陷导致的排查

关于MySQL内存泄露如何排查的一些思路 还有MySQL本身缺陷导致的排查

2024-06-30 23:05:24 [百科] 来源:避面尹邢网

关于MySQL内存泄露如何排查的关于一些思路

作者: 崔虎龙 数据库 MySQL MySQL内存使用率过高,有诸多原因。存泄普遍原因是露何路使用不当,还有MySQL本身缺陷导致的排查。到底是关于哪方面的问题,那就需要一个一个进行排查。存泄

[[414461]]

本文转载自微信公众号「数据和云」,露何路作者崔虎龙 。排查转载本文请联系数据和云公众号。关于

关于MySQL内存泄露如何排查的一些思路 还有MySQL本身缺陷导致的排查

MySQL使用内存上升90%!在运维过程中50%的存泄几率,会碰到这样的露何路问题。算是排查比较普遍的现象。

关于MySQL内存泄露如何排查的一些思路 还有MySQL本身缺陷导致的排查

MySQL内存使用率过高,关于有诸多原因。存泄普遍原因是露何路使用不当,还有MySQL本身缺陷导致的。到底是哪方面的问题,那就需要一个一个进行排查。

关于MySQL内存泄露如何排查的一些思路 还有MySQL本身缺陷导致的排查

下面介绍排查思路:

1.参数配置需要确认,内存是否设置合理

MySQL内存分为全局和线程级:

  • 全局内存(如:innodb_buffer_pool_size,key_buffer_size,innodb_log_buffer_size)。
  • 线程级内存:(如:thread,read,sort,join,tmp 等)只是在需要的时候才分配,并且在操作完毕之后就释放。
  • 线程级内存:线程缓存每个连接到MySQL服务器的线程都需要有自己的缓冲。默认分配thread_stack(256K,512k),空闲时这些内存是默认使用,除此之外还有网络缓存、表缓存等。大致评估会在1M~3M这样的情况。可通过pmap观察内存变化:

  1. mysql> SELECT @@query_cache_size, 
  2.      @@key_buffer_size, 
  3.      @@innodb_buffer_pool_size , 
  4.      @@innodb_log_buffer_size , 
  5.      @@tmp_table_size , 
  6.      @@read_buffer_size, 
  7.      @@sort_buffer_size, 
  8.      @@join_buffer_size , 
  9.      @@read_rnd_buffer_size, 
  10.      @@binlog_cache_size, 
  11.      @@thread_stack, 
  12.      (SELECT COUNT(host) FROM  information_schema.processlist where command<>'Sleep')\G; 
  13. (责任编辑:时尚)

    推荐文章
    热点阅读