Mysql innodb_buffer_pool_size参数

https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.htmlhttps://www.cndba.cn/hbhe0316/article/22632

https://www.cndba.cn/hbhe0316/article/22632
https://www.cndba.cn/hbhe0316/article/22632

缓冲池的大小(以字节为单位),InnoDB缓存表和索引数据的内存区域。默认值是134217728字节(128MB)。最大值取决于CPU架构;32位系统的最大值为4294967295(232-1),64位系统的最大值为18446744073709551615(264-1)。在32位系统上,CPU架构和操作系统可能要求的实际最大大小比所述的最大大小要低。当缓冲池的大小大于1GB时,将innodb_buffer_pool_instances的值设置为大于1可以在繁忙的服务器上提高可伸缩性。
更大的缓冲池需要更少的磁盘I/O来多次访问相同的表数据。在专用的数据库服务器上,可以将缓冲池大小设置为机器物理内存大小的80%。在配置缓冲池大小时,请注意以下潜在问题,并准备在必要时缩减缓冲池的大小。
物理内存的竞争会导致操作系统中的分页。
InnoDB为缓冲区和控制结构预留了额外的内存,因此总的分配空间大约比指定的缓冲池大小多10%。
缓冲池的地址空间必须是连续的,这在Windows系统中可能是一个问题,因为dll在特定地址加载。
初始化缓冲池的时间与它的大小大致成比例。在具有大型缓冲池的实例中,初始化时间可能很长。为了减少初始化时间,可以在服务器关闭时保存缓冲池状态,并在服务器启动时恢复它。请参见15.8.3.6节“保存和恢复缓冲池状态”。
当您增加或减少缓冲池大小时,操作将在块中执行。块大小由innodb_buffer_pool_chunk_size变量定义,该变量的默认值为128 MB。
缓冲池大小必须始终等于或innodb_buffer_pool_chunk_size innodb_buffer_pool_instances的倍数。如果你改变缓冲池大小的值不等于或多个innodb_buffer_pool_chunk_size innodb_buffer_pool_instances,缓冲池大小自动调整的值等于或innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances的倍数。
Innodb_buffer_pool_size可以动态设置,这样就可以在不重启服务器的情况下调整缓冲池的大小。Innodb_buffer_pool_resize_status状态变量用于报告在线缓冲池调整操作的状态。更多信息请参见15.8.3.1节“配置InnoDB缓冲池大小”。
如果启用了innodb_dedicated_server,如果没有显式定义,innodb_buffer_pool_size值将自动配置。更多信息,请参见15.8.12节,“为专用MySQL服务器启用自动配置”。https://www.cndba.cn/hbhe0316/article/22632https://www.cndba.cn/hbhe0316/article/22632

用于缓存索引和数据的内存大小,这个当然是越多越好, 数据读写在内存中非常快, 减少了对磁盘的读写。 当数据提交或满足检查点条件后才一次性将内存数据刷新到磁盘中。然而内存还有操作系统或数据库其他进程使用, 根据经验,推荐设置innodb-buffer-pool-size为服务器总可用内存的75%。 若设置不当, 内存使用可能浪费或者使用过多。 对于繁忙的服务器, buffer pool 将划分为多个实例以提高系统并发性, 减少线程间读写缓存的争用。buffer pool 的大小首先受 innodb_buffer_pool_instances 影响, 当然影响较小。https://www.cndba.cn/hbhe0316/article/22632https://www.cndba.cn/hbhe0316/article/22632

https://www.cndba.cn/hbhe0316/article/22632
https://www.cndba.cn/hbhe0316/article/22632 https://www.cndba.cn/hbhe0316/article/22632
[root@mysql57 logs]# service mysqld restart
Shutting down MySQL.... SUCCESS! 
Starting MySQL....... SUCCESS! 
[root@mysql57 logs]# cat /etc/my.cnf | grep -i innodb-buffer-pool-size
innodb-buffer-pool-size = 6400M
mysql> SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
+-------------------------+------------+
| Variable_name           | Value      |
+-------------------------+------------+
| innodb_buffer_pool_size | 7516192768 |
+-------------------------+------------+
1 row in set (0.00 sec)

版权声明:本文为博主原创文章,未经博主允许不得转载。

MYSQL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值