0
点赞
收藏
分享

微信扫一扫

Warning: Using innodb_additional_mem_pool_size is DEPRECATED


Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB‘s internal memory allocator.


根据https://blogs.oracle.com/supportingmysql/entry/remove_on_sight_thread_concurrency说的,mysql 5.6开始将丢弃三个配置文件中的参数,分别是: 


thread_concurrency, innodb_additional_mem_pool_size, innodb_use_sys_malloc 

1)thread_concurrency这个是给旧版本的solaris用的,在新的solaris 11中已经不用了,从5.6.1开始丢弃这个参数 

2) innodb_additional_mem_pool_size: 


这个参数原来的用法如下: 


这个参数用来设置 InnoDB 存储的数据目录信息和其它内部数据结构的内存池大小。应用程序里的表越多,你需要在这里分配越多的内存。对于一个相对稳定的应用,这个参数的大小也是相对 稳定的,也没有必要预留非常大的值。如果 InnoDB 用光了这个池内的内存, InnoDB 开始从操作系统分配内存,并且往 MySQL 错误日志写警告信息。默认值是 1MB ,当发现错误日志中已经有相关的警告信息时,就应该适当的增加该参数的大小。 


但从mysql 5.6.3开始,不再需要这个参数了. 



3) innodb_use_sys_malloc这个参数,含义为: 


操作系统内存分配程序使用控制——用户现在可以控制,InnoDB是使用自带的内存分配程序,还是使用当前部署的操作系统中现有的更高效的内存分配程序。通过在MySQL 5.5 选项文件(my.cnf)中设置新的系统配置参数innodb_use_sys_malloc,可方便地进行控制。 


默认设置值为1, 


设置为0:表示Innodb使用自带的内存分配程序。 


设置为1:表示InnoDB使用操作系统的内存分配程序。 



但随着mysql 的进步和各操作系统的进步,从mysql 5.6.3开始,则不需要再使用这个参数了, 


如果目前使用的是5.1,InnoDB plugin, 5.5 or 5.6 则建议使用的参数值为1 



所以 Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB‘s internal memory allocator.


这个解决方式: innodb_use_sys_malloc = 1


或者直接在5.6.3以后的版本中注释掉参数:innodb_additional_mem_pool_size



举报

相关推荐

0 条评论