首页 > 数据库 >243.mysql 内存统计相关

243.mysql 内存统计相关

时间:2023-09-01 14:22:30浏览次数:48  
标签:name memory sys 内存 243 mysql performance pl schema

1.查看mysql是否打开了关于innodb内存相关的监控
SELECT * FROM performance_schema.setup_instruments WHERE NAME LIKE '%memory/innodb%';
2.没有打开的话开一下(自己判断: 重启数据库会恢复原有设置)
# update performance_schema.setup_instruments set enabled = 'yes' where name like 'memory%';
3.如想要对全局生命周期中的对象进行内存统计,必须在配置文件中进行设置(对第二步中重启恢复的持久化操作)
[mysqld]
performance-schema-instrument='memory/%=COUNTED'


4.全局服务器内当前内存使用情况
SELECT * FROM sys.memory_global_by_current_bytes WHERE event_name LIKE 'memory/innodb/buf_buf_pool'\G

5.统计mysql先所有event_name的内存使用情况
SELECT SUBSTRING_INDEX(event_name,'/',2) AS
       code_area, sys.format_bytes(SUM(current_alloc))
       AS current_alloc
       FROM sys.x$memory_global_by_current_bytes
       GROUP BY SUBSTRING_INDEX(event_name,'/',2)
       ORDER BY SUM(current_alloc) DESC;

6.查看 MySQL 总消耗内存
select * from sys.memory_global_total;

7.将mysql中的字节转成人类容易阅读的单位
SELECT variable_name, 
		sys.format_bytes(variable_value) as  variable_value2 
FROM performance_schema.global_variables 
WHERE variable_name = 'max_allowed_packet';

8.查看总体内存占用情况(每个组件)
select event_name,sys.format_bytes(CURRENT_NUMBER_OF_BYTES_USED) as CURRENT_NUMBER_OF_BYTES_USED2 from performance_schema.memory_summary_global_by_event_name order by CURRENT_NUMBER_OF_BYTES_USED desc LIMIT 20;

9.查看线程内存占用情况
select thread_id,event_name,sys.format_bytes(CURRENT_NUMBER_OF_BYTES_USED) as CURRENT_NUMBER_OF_BYTES_USED2 from performance_schema.memory_summary_by_thread_by_event_name order by CURRENT_NUMBER_OF_BYTES_USED desc limit 20;

10.查看回话级别的buffer相关信息
select VARIABLE_NAME, VARIABLE_VALUE, concat(VARIABLE_VALUE/1024/1024,' MB') AS VARIABLE_VALUE_MB from performance_schema.session_variables where variable_name in ('read_buffer_size','read_rnd_buffer_size','sort_buffer_size','join_buffer_size','binlog_cache_size','tmp_table_size', 'innodb_buffer_pool_chunk_size');



11. # 查看线程信息(内存分配大小)
SELECT * FROM performance_schema.threads where name="thread/sql/one_connection" limit 1\G

SELECT
	pl.ID,
	pl.user,
	pl.HOST,
	pl.DB,
	pl.COMMAND,
	pl.`TIME`,
	pl.info,
	td.THREAD_ID,
	td.PARENT_THREAD_ID,
	tsb.current_allocated
FROM
	information_schema.processlist pl
left join performance_schema.threads td on
	td.PROCESSLIST_ID = pl.ID
left join sys.memory_by_thread_by_current_bytes tsb on 
	tsb.thread_id = td.THREAD_ID 
where
	pl.COMMAND != "Sleep";

SELECT * from performance_schema.socket_instances si where si.THREAD_ID = 20131;

-- select sys.format_bytes(sum(msb.CURRENT_NUMBER_OF_BYTES_USED)) from performance_schema.memory_summary_by_thread_by_event_name msb where msb.THREAD_ID = 78680;
SELECT * from sys.memory_by_thread_by_current_bytes msb where msb.THREAD_ID = 78680;

SELECT * FROM performance_schema.threads where name="thread/sql/one_connection" limit 1\G

标签:name,memory,sys,内存,243,mysql,performance,pl,schema
From: https://www.cnblogs.com/liuzhanghao/p/17671776.html

相关文章

  • Oracle数据迁移MySQL的三种简单方法
    Oracle数据迁移MySQL的三种简单方法更新时间:2023年06月05日10:58:16  作者:牛牛的笔记 对于许多企业而言,迁移数据库时最大的挑战之一是如何从一个数据库平台顺利迁移到另一个平台,下面这篇文章主要给大家介绍了关于Oracle数据迁移MySQL的三种简单方法,需要的朋友可以参......
  • MySQL InnoDB 是怎么使用 B+ 树存数据的?
    这里限定MySQLInnoDB存储引擎来进行阐述,避免不必要的阅读歧义。首先通过一篇文章简要了解下B树的相关知识:你好,我是B树。B+树是在B树基础上的变种,主要区别包括:1、所有数据都存储在叶节点,其它几点作为索引存储。2、数据节点添加链指针,便于横向检索。数据是怎么......
  • mysql字符集批量修改
    修改所有数据库字符集SELECTCONCAT('ALTERDATABASE',SCHEMA_NAME,'CHARACTERSETutf8mb4COLLATEutf8mb4_bin;')as'Fanrncho'FROMinformation_schema.`SCHEMATA`WHEREDEFAULT_CHARACTER_SET_NAMERLIKE'utf8mb4'ANDSCHEMA_NAME......
  • mysql数据库性能优化参考
    原文链接:https://blog.csdn.net/qq_34777982/article/details/125788079硬件和操作系统层面的优化硬件:cpu、内存、磁盘io、网络带宽操作系统:应用文件句柄(ulimit-aopenfiles)网络配置架构设计层面的优化集群方式(主从集群或者主主集群):避免单点故障读写分离:读写分开,将压力分担,避......
  • mysql备份恢复
    备份某个表:mysqldump-uusername-ppassworddatabase_nametable_name>backup_file.sql备份多个表:mysqldump–uusername-ppassworddatabase_nametable1table2>BackupName.sql备份整个库:mysqldump-uusername-ppassworddatabase_name>backup_file.sql备份多......
  • Mysql主从复制(一主一从)+Mycat(windows-1.X版本)实现读写分离
    项目中,如果数据量大的情况下,可以使用【数据库主从复制+读写分离】的方式优化,其他方式也很多,这里只记录下这种方式一、说明1.需要的环境等:序号环境说明1mysql5.7服务器两台数据库服务器,一台作为主数据库,一台作为从数据库2jdk安装mycat的时候会用到jdk3my......
  • 读写分离---mysql的主主结构和主从架构
    前言:为什么要对mysql做优化?  因为数据都来源于数据库,如果数据库慢了,无论是多线程、各种识别模式优化还是很慢,因为查sql就很慢。  官方说法:单表2000万数据,增删改查就到达瓶颈了。所以为了保证查询效率,得让每张表的大小得到控制。 Mysql架构:实际生产过程中,查询业务......
  • Android内存优化的背景
    一、Android内存管理机制Android系统在运行时使用内存管理机制来分配和回收内存,以确保应用程序在合适的内存限制下运行,并优化系统资源的使用效率。Android系统中有不同类型的内存区域,每个区域都有不同的作用。Java堆(JavaHeap):Java堆是用于分配Java对象的主要内存区域。Android应用......
  • mysql基础
    --创键数据库test(如果不存在)CREATEDATABASEIFNOTEXISTStest--删除数据库test(如果存在)DROPDATABASEIFEXISTStest--使用该数据库USEschool--表名或字段名是特殊字符用``包含(tab键上......
  • mysql 创建只读权限账号
    命令行登录mysql-uroot-p创建只读权限的账号【将<username>替换为用户名, <password>替换为密码。'%' 表示该账号可以从任何主机连接。如果希望限制连接的主机,可以将 '%' 替换为具体的主机名或IP地址。】CREATEUSER'<username>'@'%'IDENTIFIEDBY'<password>......