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设置为了物理内存的一半。

  • 相关阅读:
    安装spark-1.5遇到的一些问题
    spark遇到的一些问题及其解决办法
    spark-client 一直 accepted,无法提交任务,报错Failed to connect to driver at
    spark-sql用hive表格,在spark-submit运行jar包时遇到的问题
    hive streaming 使用的时候的一些心得
    [BZOJ]1063 道路设计(Noi2008)
    PKUWC2018划水记
    [BZOJ]3527 力(ZJOI2014)
    [Codeforces]906D Power Tower
    [BZOJ]1071 组队(SCOI2007)
  • 原文地址:https://www.cnblogs.com/perfei/p/10335547.html
Copyright © 2011-2022 走看看