当前位置:论坛首页 > Linux面板 > Linux面板教程

简单聊聊innodb_buffer_pool_size

发表在 Linux面板2020-2-12 20:34 [复制链接] 2 3411

Innodb_buffer_pool_size
缓冲池:(用于缓存表和索引数据的)内存区域,以字节为单位默认值是128MB,最大值取决于cpu架构,在32位系统上最大值为2的32次方-1,在64位系统上大小为2的64次方-1。当缓冲池大小大于1GB时,将其设置 innodb_buffer_pool_instances大于1的值可以改善繁忙服务器上的可伸缩性.
较大的缓冲池需要减轻服务器的磁盘  I/O  才能多次访问同一表数据,在数据库的专用服务器 上,可以将缓冲池大小设置为计算机的物理内存的80%。
innodb_buffer_pool_size大小配置注意事项:
    1、物理内存竞争可能会影响操作系统中的页面调度

    2、InnoDB为缓冲区和控制结构保留额外的内存,以便分配的总空间比指定的缓冲池大10%

    3、缓冲池的地址必须是连续的,这在带有特定地址加载DLL的Windows系统上可能是一个问题(要想充分发挥innod的特性,Linux是个比较不错的选择)

    4、初始化缓冲池的时间大致与其大小成正比。在具有大缓冲池的实例上,初始化时间较长,为了减少初始化时间,您可以在服务器关闭或者重启时保存缓冲池的状态,并在服务器启动时将其恢复。



缓冲池大小必须始终等于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 状态变量报告在线缓冲池大小调整操作的状态


由InnoDB_buffer_pool_size设置不当导致面板中数据库打不开的案例:
错误显示:如图
InnoDB错误.png

这个时候将数据库的配置文件中innodb_buffer_pool_size 大小设置成 128MB  重启数据库即可。
innodb参数.png



使用道具 举报 只看该作者 回复
发表于 2020-2-12 20:53:18 | 显示全部楼层
学习下。。
使用道具 举报 回复
发表于 2021-1-11 12:17:42 | 显示全部楼层
按照提示操作了,保存,重启服务器,之后还是返回这个页面
123.jpg
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表