刷新频率 如何查看_一文总结mysql数据库查看内存消耗情况相关命令

本文介绍了如何查看MySQL数据库的内存消耗情况,包括通过Linux系统命令观察线程内存、检查共享内存分配(如InnoDB Buffer Pool、Query Cache等)以及Session私有内存使用。此外,还提到了使用Performance Schema来监控内存消耗,并给出了调整内存配置的建议。
摘要由CSDN通过智能技术生成

概述

很多时候我们看到mysql数据库内存用的很高,这个时候我们应该如何知道mysqld进程究竟什么原因消耗掉内存的,都用哪里去了呢?下面介绍几个mysql数据库常用的查看内存消耗情况的命令~


一、linux观察mysql线程内存消耗情况

top -p mysqlpid -H

然后使用pmap -d 分析一下进程的内存情况

053c1a52c4f586050c1373adbc3e8954.png

二、查看mysql实例内存具体分配情况

1、共享内存

共享内存中的内存空间是实例创建时即分配的内存空间,并且是所有连接共享的。

全局共享内容主要是MySQL Instance以及底层存储引擎用来暂存各种全局运算及可共享的暂存信息,如

  • 存储查询缓存的 Query Cache,
  • 缓存连接线程的 Thread Cache,
  • 缓存表文件句柄信息的 Table Cache,
  • 缓存二进制日志的 BinLog Buffer,
  • 缓存MyISAM存储引擎索引键的 Key Buffer
  • 存储InnoDB数据和索引的 InnoDB Buffer Pool

等等。

show variables where variable_name in ( 'innodb_buffer_pool_size','innodb_log_buffer_size','innodb_additional_mem_pool_size','key_buffer_size','query_cache_size' );
b24a45346fe3e421e1e404928da2c60c.png

参数说明:

  • innodb_buffer_pool该部分缓存是 Innodb 引擎最重要的缓存区域,是通过内存来弥补物理数据文件的重要手段。其中主要包含数据页、索引页、undo 页、insert buffer、自适应哈希索引、锁信息以及数据字典等信息。在进行 SQL 读和写的操作时,首先并不是对物理数据文件操作,而是先对 buffer_pool 进行操作,然后再通过 checkpoint 等机制写回数据文件。该空间的优点是可以提升数据库的性能、加快 SQL 运行速度,缺点是故障恢复速度较慢。
  • innodb_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值