• MySQL之内存篇


    问题

    之前有关于MySQL磁盘及CPU的问题,接下来说下内存方面:
    内存是重要的性能参数,内存使用率过高会导致系统响应速度变慢,严重时内存会耗尽,数据库实例会进行主备切换,导致业务中断。因此我们需要在内存异常升高时及时排查问题,避免影响业务。

    如果您使用mysql客户端程序 发出查询并收到如下错误,则表示mysql没有足够的内存来存储整个查询结果:

    mysql: Out of memory at line 42, 'malloc.c'
    mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k)
    ERROR 2008: MySQL client ran out of memory
    
    • 1
    • 2
    • 3

    相关阅读
    MySQL数据库CPU使用率过高,怎么办
    MySQL性能调优之磁盘空间

    在这里插入图片描述

    MySQL内存

    MySQL内存消耗分为两类:可以控制的内存和不可以控制的内存。

    主要内存消耗如下:

    (1).每个连接需要的内存
    (2).缓存分配内存
    InnoDB缓冲池
    InnoDB日志文件文件和MyISAM数据的操作系统缓存
    MyISAM键缓存
    查询缓存
    无法手工配置的缓存,例如二进制日志文件和表定义
    (3)线程缓存
    (4)表缓存
    (5)InnoDB数据字典

    排查SQL

    ## 按主机分组的内存使用情况。默认情况下,行按使用的内存量降序排列
    select * from sys.x$memory_by_host_by_current_bytes;
    ## 按线程分组。默认情况下,行按使用的内存量降序排列
    select * from sys.x$memory_by_thread_by_current_bytes;
    ## 按用户分组。默认情况下,行按使用的内存量降序排列。
    select * from sys.x$memory_by_user_by_current_bytes;
    ## 按分配类型(即按事件)分组。默认情况下,行按使用的内存量降序排列。
    select * from sys.x$memory_global_by_current_bytes;
    ## 汇总了服务器内的总内存使用情况。
    select * from sys.x$memory_global_total;
    
    select * from performance_schema.memory_summary_by_account_by_event_name;
    select * from performance_schema.memory_summary_by_host_by_event_name;
    select * from performance_schema.memory_summary_by_thread_by_event_name;
    select * from performance_schema.memory_summary_by_user_by_event_name;
    select * from performance_schema.memory_summary_global_by_event_name;
    
    select event_name,
           current_alloc
    from sys.memory_global_by_current_bytes
    where event_name like '%innodb%';
    
    select event_name,current_alloc from sys.memory_global_by_current_bytes limit 5;
    
    select m.thread_id tid,
           USER,
           esc.DIGEST_TEXT,
           total_allocated
    FROM sys.memory_by_thread_by_current_bytes m,
         performance_schema.events_statements_current esc
    WHERE m.`thread_id` = esc.THREAD_ID 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    往者不可谏,来者犹可追

  • 相关阅读:
    使用华为eNSP组网试验⑹-组建基于BGP的网络
    Gateway基本配置
    云原生是整个信息化行业的未来,一文彻底搞懂云原生
    vue模板语法上集
    Ansible安装管理和模块的使用
    【DDIM】DENOISING DIFFUSION IMPLICIT MODELS【论文精读】【视频讲解】【公式推导】
    挑战10个最难回答的Java面试题(附答案)
    用一张图说一说 ChatGPT 内部技术工作流程
    Windows 事件查看器记录到 MYSQL
    H4TCPE;H4ETTC;四[4-(4‘-羧基苯基)苯基]乙烯;AIE聚集诱导发光材料
  • 原文地址:https://blog.csdn.net/qq_35764295/article/details/125644815