本文转载自微信公众号「数据和云」,关于作者崔虎龙 。存泄转载本文请联系数据和云公众号。露何路
MySQL使用内存上升90%!在运维过程中50%的排查几率,会碰到这样的关于问题。算是存泄比较普遍的现象。
MySQL内存使用率过高,露何路有诸多原因。排查普遍原因是关于使用不当,还有MySQL本身缺陷导致的站群服务器存泄。到底是露何路哪方面的问题,那就需要一个一个进行排查。排查
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观察内存变化: