zoukankan      html  css  js  c++  java
  • mysql内存消耗分析

     最近有些生产服务器老是mysql内存不停得往上涨,开发人员和维护反馈,用了不少的临时表,问题时常线上发生,测试又一直比较难重现。

    经观察mysql内存的os占用趋势,发现从8:40开始,mysql内存逐渐上升,到下午1:30左右差不多占了整个系统90%多的物理内存。在业务较为繁忙的时间,还发生过好几次oom导致被killed的情形。

    经过分析配置,innodb_buffer_pool_size配置并不高,差不多50%,其他log_buffer,additional_mem,key_buffer,query_cache都不怎么高。加起来也不到两三百兆。并发、join_size这些也不算很高。实际比算下来最大还超过1GB多。

    为了查看memory引擎的临时表的内存占用,升级到了percona server版本。

    SELECT * FROM information_schema.`GLOBAL_TEMPORARY_TABLES`;

    SELECT SUM(data_length+index_length)/1024/1024 FROM information_schema.global_temporary_tables WHERE ENGINE='memory';

    可看到临时表消耗了300M内存。

    而在该实例中,buffer_pool为默认,128M。

    可见临时表消耗的mysql内存远比buffer pool size要大得多。

    知道内存的具体去处之后,针对性解决就是细节性的优化了。

  • 相关阅读:
    fidller 打断点
    随笔
    HTML标签介绍
    补充9.27----9.28
    html5_______9.26
    9.14
    9.13笔记
    9.12笔记
    CSS样式的引用
    html5_______9.10
  • 原文地址:https://www.cnblogs.com/zhjh256/p/5728953.html
Copyright © 2011-2022 走看看