网站首页 > 文章中心 > 其它

怎么计算mysql内存

作者:小编 更新时间:2023-10-14 18:55:36 浏览量:352人看过

MySQL内存相关参数

相关查看命令

sql show global variables like 'innodb_buffer_pool_size';

sql show global status like 'Innodb_buffer_pool_pages_data';

sql show global status like 'Innodb_page_size';

有的参数对应不同引擎,比如对于innodb引擎的,都是innodb_打头.

例如:

innodb_log_files_in_group=10

怎么计算mysql内存-图1

myisam_max_sort_file_size = 10G

ft_min_word_len = 1 #for chinese full text search

query_cache_type = 0

log-slave-updates

调优参考计算方法:

val = Innodb_buffer_pool_pages_data / Innodb_buffer_pool_pages_total * 100%

设置要根据自己的实际情况来设置,如果设置的值不在合理的范围内,并不是设置越大越好,可能设置的数值太大体现不出优化效果,反而造成系统的swap空间被占用,导致操作系统变慢,降低sql查询性能.

修改配置文件的调整方法,修改my.cnf配置:

mysql 如何分配内存

我们仍然使用两个会话,一个会话 run,用于运行主 SQL;另一个会话 ps,用于进行 performance_schema 的观察:

将 performance_schema 中的统计量重置,

临时表的表大小限制取决于参数? tmp_table_size 和 max_heap_table_size 中较小者,我们实验中以设置 max_heap_table_size 为例.

查看内存的分配记录:

查看语句的特征值:

可以看到语句使用了一次需要落磁盘的临时表.

那么这张临时表用了多少的磁盘呢?

我们开启 performance_schema 中 waits 相关的统计项:

重做实验,略过.

再查看 performance_schema 的统计值:

可以看到几个现象:

可以看到写入的线程是 page_clean_thread,是一个刷脏操作,这样就能理解数据为什么是慢慢写入的.

结论:

我们可以看到,

① MySQL 会基本遵守 max_heap_table_size 的设定,在内存不够用时,直接将表转到磁盘上存储.

MYSQL 内存排查

①查参数配置

目前积累的使用经验中,存储过程函数触发器视图 在MySQL场景下是不适合的.性能不好,又容易发现内存不释放的问题,所以建议尽量避免.

pmap是Linux调试及运维一个很好的工具,查看进程的内存映像信息

RSS就是这个process实际占用的物理内存.

Dirty: 脏页的字节数(包括共享和私有的).

Mapping: 占用内存的文件、或[anon](分配的内存)、或[stack](堆栈).

writeable/private:进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小.

①首先使用/top/free/ps在系统级确定是否有内存泄露.如有,可以从top输出确定哪一个process.

mysql占多少内存

MySQL 自身内存规划

说到 MySQL 自身的内存规划,最先想到的就是 MySQL 中各种 buffer 的大小,innodb buffer pool 就是最鹤立鸡群的那个.innodb_buffer_pool_size 参数的大小究竟如何设置,才能保证 MySQL 的性能呢?在官网文档中可以找到这个参数的一些描述:

举个栗子:

如何统计mysql 使用磁盘与内存

线程管理,服务器程序为了提高效率,会将一些信息存储于buffer(cache).

Memory(HEAP)引擎将数据存储在那种中内存中.

临时表如果没有超过设定的限制会存储在内存中.

全局的Buffer和Cache(比如MyISAM的keybuffer,InnoDB的buffer pool, Query cache等 )

如何计算mysql数据库大小

查看mysql数据库大小的四种办法,分别有以下四种:

第一种:进去指定schema 数据库(存放了其他的数据库的信息)

use information_schema

第二种:查询所有数据的大小

第三种:查看指定数据库的大小,比如说:数据库apoyl

第四种:查看指定数据库的表的大小,比如说:数据库apoyl 中apoyl_test表

以上就是土嘎嘎小编为大家整理的怎么计算mysql内存相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章