MySQL innodb_additional_mem_pool参数的用法(附带实例)
在 [mysqld] 中,对 innodb_additional_mem_pool 参数的定义如下:
对于一个相对稳定的应用,这个参数的大小也是相对稳定的,没有必要预留非常大的值。如果 InnoDB 用光了这个池内的内存,就开始从操作系统分配内存,并且往 MySQL 错误日志中写警告信息。其默认值是 1MB,当发现错误日志中已经有相关的警告信息时,就应该适当增加该参数的大小。
管理员也可以使用 show engine innodb status\G;查询运行中的数据库的状态,如下所示:
[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 参数以优化数据库性能。