如何计算MySQL数据库占用内存
简介
估计有很多开发,或者刚刚接触MySQL数据库的运维人员,不太清楚,如何去计算MySQL数据库占用内存总大小。
估计有时候,还会奇怪,明明设置的buffer pool size不大,数据库却因为操作系统内存不足,导致MySQL数据库进程被系统自动kill掉了。
下面就来给你一一揭晓答案
MySQL数据占用内存
MySQL数据库占用操作系统内存,主要分为两部分
- 第一部分为:innodb存储引擎占用的buffer pool size,一部分为myism存储引擎占用的内存大小
- 第二部分为:MySQL数据库应用会话占用的内存大小
MySQL数据库内存计算公式
1.buffer pool内存占用计算方式
buffer pool目前主要有innodb和myism2个存储引擎,还有一个是redo日志占用内存大小,innodb_log_buffer_size
mysql> SELECT ( @@innodb_buffer_pool_size-> + @@innodb_log_buffer_size-> + @@key_buffer_size ) / 1024 / 1024 AS MEMORY_MB;
+--------------+
| MEMORY_MB |
+--------------+
| 584.00000000 |
+--------------+
1 row in set (0.00 sec)
2.MySQL数据库会话占用内存大小
可以使用下面的公式计算一个会话占用内存的大小
mysql> SELECT ( @@read_buffer_size + @@read_rnd_buffer_size-> + @@sort_buffer_size + @@tmp_table_size-> + @@join_buffer_size + @@binlog_cache_size ) / 1024 / 1024 AS Session_MB;
+-------------+
| Session_MB |
+-------------+
| 16.90625000 |
+-------------+
1 row in set (0.00 sec)
在这里需要注意,有时候,因为你的数据库整体性能下降之后,应用可能会有突然激增很多数据库连接,可能会造成操作系统的内存不足,而导致被系统自动kill掉进程。所以在设计数据库的时候,一定要考虑数据库承载的最大连接数。
计算所有连接数占用的总内存大小。
先查询出数据库有多少会话
mysql> select count(*) from INFORMATION_SCHEMA.PROCESSLIST;
+----------+
| count(*) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)根据会话数去乘一个会话占用内存的大小,最后得到的就是会话占用的内存总大小。
参考链接 :
如何计算MySQL数据库占用内存 :
https://mp.weixin.qq.com/s/_aOCYw0IxJDEjXWOZRPV4w
如何计算MySQL数据库占用内存相关推荐
- mysql爆内存_线上MySQL数据库机器内存爆掉原因分析与解决
本文主要向大家介绍了线上MySQL数据库机器内存爆掉原因分析与解决,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 现象: 阿里金融某业务的MySQL机器的内存每隔几天就会增长,涨 ...
- mysql占用内存过高_mysql数据库占用内存过高解决办法
top命令查看系统的实时负载, 包括进程.CPU负载.内存使用等等: 直接输入top命令 PID:PID进程 USER:用户 PR:优先级 NI:nice值,负值表示高优先级,正值表示低优先级 VIR ...
- paip mysql 5 6 数据库 占用 内存 过多 的 解决方案
paip.mysql 5.6 占用 内存 过多 的 解决方案 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.cs ...
- mysql 5.6 数据库 占用 内存 过多 的 解决方案
mysql 5.6 占用 内存 过多 的 解决方案 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.ne ...
- paip.mysql 5.6 数据库 占用 内存 过多 的 解决方案
paip.mysql 5.6 占用 内存 过多 的 解决方案 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.cs ...
- mysql 引起服务器死机_MSSQL数据库占用内存过大造成服务器死机问题的解决方法...
使用MSSQL的站长朋友都会被MSSQL数据库吃内存的能力佩服得五体投地,一个小小的网站,运行若干天之后,MSSQL就会把服务器上所有的内存都吃光,此时你不得不重新启动一下服务器或MSSQL来释放内存 ...
- mysql数据库占用太多的CPU_mysql数据库CPU使用率过高解决方案
压测时,经常会出现mysql数据库CPU使用率过高,下面介绍一下简单的问题定位方法: 1.确定是否有慢sql语句: 1)登录数据库服务器,连接数据库:执行命令:mysql -uroot -p 密码 2 ...
- mysql内存占用过高_mysql占用内存过高排查
排查点:数据库配置,数据分区.定时事件.存储过程 触发原因:java服务莫名的挂掉了 机器信息:centos 7 ,腾讯云服务器1核2G,只安装了mysql和运行一个java服务. 经过排查过程: 查 ...
- 你所不知道的MySQL数据库性能优化方案
一.MySQL数据库引擎的选择 1.1 概述 MySQL数据库中最重要的一个概念就是数据库引擎,不同的数据库引擎的工作原理存在很大差异最终造成MySQL数据库服务的性能差异. 例如如果数据库引擎需要支 ...
最新文章
- 爱数的诗和远方:云端数据运营服务
- VR+监狱,分分钟让犯罪分子重新做人
- Mysql高性能优化技能总结
- 将连接数据库的地址写在web.config里面,后台直接调用
- 矢量绘图工具:Sketch 78 for mac
- java web 学习网站_我的第一个javaweb学习----模仿社区网站(三)
- Anaconda下载和安装指南(超全)
- Redis之连接redis服务命令
- 直流可逆调速控制系统matlab,逻辑无环流直流可逆调速系统的Matlab仿真
- python模拟ios点击_使用Xcode + Python进行IOS运动轨迹模拟
- Win11磁盘清理怎么没有了?Win11磁盘清理在哪打开?
- ContentProvider
- 面试常见问题之网络基础
- 移动端(一)—— 移动端概念
- 从零起步,新时代大学生选择创业还是工作?
- 小学计算机二课活动记录,小学教研活动记录
- cad标注样式快捷键_说说CAD尺寸精度设置的两种方法!
- 处理器与大力神杯,夺冠或许并不需要11人
- 攻防世界 web高级 leaking
- 音响DIY入门需要掌握的20种电路及简介
热门文章
- CVPR 2022 论文和开源项目合集
- NLP工具包(Albert+BiLSTM+CRF)
- Deep Learning with PyTorch 必看教程集(4本)
- jquery如何拿到一个对象_jQuery 怎么获取对象
- vivox50pro鸿蒙系统,钱包卡包都承包 vivo X50 Pro+多功能NFC玩法多
- silverlight安装后仍提示未安装_CAD提示“许可管理器不起作用或未正确安装”?来,我来教你方法...
- 制打印如下所示的n行数字金字塔_关于央行数字货币的技术猜测
- maya多象限uv不显示_CG制作软件这么多,你都会哪些?
- HandlerThread原理和实际应用
- zabbix自定义监控Key值