zoukankan      html  css  js  c++  java
  • my28_mysql内存占用过高降低的方法

    对mysql做压力测试,测试完之后,mysql的内存一直不下降

    $ free -m
                  total        used        free      shared  buff/cache   available
    Mem:         128669      107316        2821         649       18531       19970
    Swap:             0           0           0
    # top -u mysql
    
    top - 16:21:21 up 6 days, 23:41,  5 users,  load average: 0.00, 0.85, 2.93
    Tasks: 427 total,   1 running, 425 sleeping,   1 stopped,   0 zombie
    %Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem : 13175748+total,  2238988 free, 11056342+used, 18955080 buff/cache
    KiB Swap:        0 total,        0 free,        0 used. 19794852 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                 
     6059 mysql     20   0  0.154t 0.102t   8888 S   0.0 82.9   4033:55 mysqld 

    使用了0.102*1024=104G,需要0.154*1024=157G,buffer_pool占用了80G,一直不释放,调整buffer_pool_size到70G

    mysql> show variables like '%pool_size%';
    +-------------------------+-------------+
    | Variable_name           | Value       |
    +-------------------------+-------------+
    | innodb_buffer_pool_size | 85899345920 |
    +-------------------------+-------------+
    1 row in set (0.00 sec)
    
    mysql> select 70*1024*1024*1024;
    +-------------------+
    | 70*1024*1024*1024 |
    +-------------------+
    |       75161927680 |
    +-------------------+
    1 row in set (0.00 sec)
    
    mysql> set global innodb_buffer_pool_size=75161927680;
    Query OK, 0 rows affected (0.01 sec)

    调整后,内存立即就释放了;free和available两项都有增加

    $ free -m
                  total        used        free      shared  buff/cache   available
    Mem:         128669       96811       13326         649       18531       30476
    Swap:             0           0           0

    之后又调整buffer_pool_size到80G,发现mysql占用的内存又慢慢上来了,看来mysql的buffer_pool_size会占用固定的内存大小。最后将buffer_pool_size设置为了物理内存的一半。

  • 相关阅读:
    Linux Cannot allocate memory问题
    Linux后台运行Jar方法
    盒模型:外边距叠加和外边距为负值
    HTML如何创建二级目录
    css3实现立方体,并且自转效果
    前台技术--页面跳转的几种用法
    JS实现网站内容的禁止复制和粘贴、另存为
    网络爬虫大白话解析
    HTML5 canvas绘制arcTo、translate和rotate的画法探索
    HTML5实战与剖析之原生拖拽(一拖拽历史概述)
  • 原文地址:https://www.cnblogs.com/perfei/p/10335547.html
Copyright © 2011-2022 走看看