MySQL内存分析常用语句

一、 OS层

首先需要确认是否是MySQL占用的内存

top -p $(pidof mysqld) -n 1

或者

cat /proc/$(pidof mysqld)/status

二、 DB层

  1. 全局情况

各种buffer pool大小,是否有明显不合理的设置

SHOW GLOBAL VARIABLES LIKE '%buffer%szie%';

MySQL总占用内存

SELECT * FROM sys.memory_global_total;

  1. 内存占用详情

按内存模块

SELECT

EVENT_NAME,

CURRENT_NUMBER_OF_BYTES_USED AS memory_bytes,

CURRENT_NUMBER_OF_BYTES_USED / 1024 / 1024 AS memory_mb

FROM

performance_schema.memory_summary_global_by_event_name

WHERE

CURRENT_NUMBER_OF_BYTES_USED > 0

ORDER BY

CURRENT_NUMBER_OF_BYTES_USED DESC

LIMIT 10;

各模块内存使用变化(结果是累计值,可以根据差值观察变化情况)

多次查询,求差值

SELECT

EVENT_NAME,

SUM(SUM_NUMBER_OF_BYTES_ALLOC) / 1024 / 1024 AS total_memory_mb

FROM

performance_schema.memory_summary_global_by_event_name

GROUP BY

EVENT_NAME

ORDER BY

SUM_NUMBER_OF_BYTES_ALLOC DESC

LIMIT 10;

按线程查看内存占用

SELECT

m.EVENT_NAME,

m.COUNT_ALLOC,

m.CURRENT_NUMBER_OF_BYTES_USED AS mem_sum,

(m.CURRENT_NUMBER_OF_BYTES_USED / 1024 / 1024.0) AS mem_sum_mb,

t.NAME,

t.TYPE,

t.PROCESSLIST_ID,

LEFT(t.PROCESSLIST_INFO, 10)

FROM

performance_schema.memory_summary_by_thread_by_event_name m

JOIN performance_schema.threads t

USING (THREAD_ID)

WHERE

t.PROCESSLIST_ID != CONNECTION_ID()

ORDER BY

m.CURRENT_NUMBER_OF_BYTES_USED desc

LIMIT 10;

sys库中的视图基于 performance_schema 提供了更易读和易用的性能数据汇总

SELECT * FROM sys.memory_by_thread_by_current_bytes LIMIT 10;

​​​​​​​​​

内存分布详情

SELECT * FROM sys.memory_global_by_current_bytes order by current_alloc desc LIMIT 10;

按用户排序

SELECT * FROM sys.memory_by_user_by_current_bytes;

参考

GreatSQL 运行时内存太高,超过90%怎么办(重发,附解决办法)-CSDN博客

MySQL内存使用率高且不释放问题排查与总结_Mysql_脚本之家

MySQL 8.0不再担心被垃圾SQL搞爆内存 - GreatSQL - 博客园

MySQL内存为什么不断增高,怎么让它释放 - 墨天轮

MySQL进程内存一直在涨,怎么办? - 墨天轮

相关推荐
CoderYanger5 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
wafrdggh8 小时前
2026电商快递批量查询怎么用?固乔助手模板设置评测
大数据·数据库·小程序
一个天蝎座 白勺 程序猿8 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
龙腾AI白云12 小时前
仿真到现实(Sim-to-Real)迁移:跨越仿真与现实鸿沟
数据库·机器学习·plotly·知识图谱·tornado
freejackman14 小时前
【实战二】字段级血缘追踪:拆解 AST 迷局,精准穿透函数链与子查询
大数据·数据库·sql
.痞老板.15 小时前
mysql初阶--增删改查操作
数据库·mysql
lambo mercy21 小时前
AI智能租房助手
数据库
浮生若城1 天前
MySQL:库与表的操作
数据库·mysql
薛定谔的悦1 天前
光储充一体机从主控到执行单元的双层架构
数据库·mongodb·架构
数字新视界1 天前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统