首页 > 编程笔记 > MySQL笔记 阅读:9

MySQL innodb_additional_mem_pool参数的用法(附带实例)

在 [mysqld] 中,对 innodb_additional_mem_pool 参数的定义如下:
[root@localhost~]# mysqld --verbose --help|grep "\-\-innodb_additional_mem_pool"
-A 3
--innodb_additional_mem_pool_size=#
                 Size of a memory pool InnoDB uses to store data
                 dictionary information and other internal data
                 structures.
这个参数用来设置 InnoDB 存储的数据目录信息和其他内部数据结构的内存池大小。应用程序里的表越多,就需要在这里分配越多的内存。

对于一个相对稳定的应用,这个参数的大小也是相对稳定的,没有必要预留非常大的值。如果 InnoDB 用光了这个池内的内存,就开始从操作系统分配内存,并且往 MySQL 错误日志中写警告信息。其默认值是 1MB,当发现错误日志中已经有相关的警告信息时,就应该适当增加该参数的大小。

管理员也可以使用 show engine innodb status\G;查询运行中的数据库的状态,如下所示:
mysql> show engine innodb status\G;
...
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 17445316; in additional pool allocated 869760
Dictionary memory allocated 25752
Buffer pool size   512
Free buffers       488
Database pages     24
Modified db pages  0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages read 24, created 0, written 0
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
...
这些信息有助于了解 InnoDB 缓冲池的使用情况和性能。根据这些数据,可以调整 innodb_buffer_pool_size 参数以优化数据库性能。

相关文章