Mysql——》innodb_buffer_pool_chunk_size缓冲池块大小

推荐链接:
    总结——》【Java】
    总结——》【Mysql】
    总结——》【Redis】
    总结——》【Kafka】
    总结——》【Spring】
    总结——》【SpringBoot】
    总结——》【MyBatis、MyBatis-Plus】
    总结——》【Linux】
    总结——》【MongoDB】
    总结——》【Elasticsearch】

Mysql——》innodb_buffer_pool_chunk_size缓冲池块大小

  • 一、概念
  • 二、查看
  • 三、修改

一、概念

当重新调整Buffer Pool大小时,需要重新向操作系统申请一块连续的内存空间,然后将旧的Buffer Pool中的内容复制到这一块新空间,这是极其耗时的。所以MySQL决定不再一次性为某Buffer Pool实例向操作系统申请一大片连续的内存空间,而是以chunk为单位向操作系统申请空间。

一个Buffer Pool实例是由若干个chunk组成的,一个chunk就代表一片连续的内存空间,包含了若干缓存页与其对应的控制块。
Mysql——》innodb_buffer_pool_chunk_size缓冲池块大小_第1张图片

二、查看

-- 设置 InnoDB 缓冲池分配内存的块大小,默认值为128M,单位是字节
SHOW VARIABLES LIKE 'innodb_buffer_pool_chunk_size';

Mysql——》innodb_buffer_pool_chunk_size缓冲池块大小_第2张图片

三、修改

innodb_buffer_pool_chunk_size 参数:

  1. 编译时设置无法在运行时直接修改
  2. 修改后,需要重新编译 MySQL,并重新安装才能生效。

步骤:

  1. 下载 MySQL 的源代码,并解压缩
  2. 进入解压后的源代码目录
  3. 修改文件:storage/innobase/include/buf0buf.h
    1. 在文件中找到 #define INNODB_BUFFER_POOL_CHUNK_SIZE
    2. 修改对应的数值(以字节为单位)
    3. 保存文件
  4. 重新编译,重新安装

你可能感兴趣的:(Mysql,mysql,缓存,buffer,pool,chunk,块,大小)