欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

MySQL 内存使用率常用分析语句(收藏版)

2025年07月30日 Mysql
最近连续遇到mysql内存占用过高导致服务器内存不足的问题,整理下收集到的常用分析语句。关于mysql内存使用率高问题排查过程以及解决方案,可以参考这篇文章。一、 os层首先需要确认是否是mysql占

最近连续遇到mysql内存占用过高导致服务器内存不足的问题,整理下收集到的常用分析语句。

关于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;

2. 内存占用详情

  • 按内存模块
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;

到此这篇关于mysql 内存使用率常用分析语句的文章就介绍到这了,更多相关mysql 内存使用率内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!