当前位置: 代码网 > it编程>数据库>Mysql > MySQL 内存使用率常用分析语句(收藏版)

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 内存使用率内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com