mysql - innodb缓冲池提前预留内存?
问题描述
我有 64 GB linux m/c,DBA 分配了 innodb_buffer_pool_size = 40G,这意味着 24 GB 可用于其余进程 + 操作系统。我的问题是:分配的 innodb_buffer_pool_size 是否提前保留内存,并且在有额外需要时不会将该内存还给操作系统或其他进程?
解决方案
只要不改变大小,它就会在启动时分配,不会像 mysqld 运行时那样“give3n back”。
并且您必须有足够的可用内存来定义大小,否则 mysql 将无法启动
InnoDB 在服务器启动时使用 malloc() 操作为整个缓冲池分配内存。innodb_buffer_pool_size 系统变量定义缓冲池大小。
见手册
推荐阅读
- python-3.x - 用不同的键对 dict 列表求和
- php - PHP - Foreach While Loop - 电子邮件客户端并更新他们输入的每个股票(数量)的数据库
- java - 如何删除数组中除其中一个之外的相同元素
- apache-spark - Spark 执行器、任务和分区
- python - 无法在python中安装镜头库
- java - 使用不带 -javaagent 参数的 ByteBuddy Java 代理
- java - 在 SearchView 中输入字符串之前,如何隐藏 ListView
- javascript - 如何修改此功能
- excel - 如何将我的 VBA 命名范围转换为循环代码
- scala - 新的 dotty 运行时完全死在我身上