首页 > 其他分享 >Warning: Using innodb_additional_mem_pool_size is DEPRECATED

Warning: Using innodb_additional_mem_pool_size is DEPRECATED

时间:2023-06-07 15:04:48浏览次数:107  
标签:additional mem DEPRECATED innodb 内存 InnoDB 参数 size


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



标签:additional,mem,DEPRECATED,innodb,内存,InnoDB,参数,size
From: https://blog.51cto.com/u_16152230/6431641

相关文章

  • java.lang.OutOfMemoryError:GC overhead limit exceeded异常
    java.lang.OutOfMemoryError异常解决方法 原因:常见的有以下几种:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的BUG;5.启动参数内存......
  • Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案
     使用ExcelStreamingReader,这个第三方工具会把一部分的行(可以设置)缓存到内存中,在迭代时不断加载行到内存中,而不是一次性的加载所有记录到内存,这样就可以不断的读取excel内容并且不影响内存的使用。  但是这个工具也有一定的限制:只能用于读取excel的内容,写入操作不可用;可以使......
  • cpp: Memento Pattern
     /*****************************************************************//***\fileActorMemento.h*\brief备忘录模式MementoPattern亦称:快照、Snapshot、MementoC++14*2023年6月6日涂聚文GeovinDuVisualStudio2022edit.*\authorgeovindu*\da......
  • C# MemoryStream转GZipStream 到文件
    压缩:publicstaticvoidMemoryStreamCompress(stringfileName,MemoryStreammemStream){FileStreamfsWrite=File.OpenWrite(fileName);byte[]bytes=newbyte[1*1024*1024];GZipStreamcompressedzipStream=......
  • memcached协议
    在memcache协议中发送的数据分两种:文本行和自由数据。文本行被用于来自客户端的命令和服务器的回应。自由数据用于客户端从服务器端存取数据时。存储在memcached中的数据通过键值来标识。键值是一个文本字符串,对于需要存取这项数据的客户端而言,它必须是唯一的。协议Protocolme......
  • uniGUI学习之UniHTMLMemo1(62)
    https://blog.csdn.net/dlboy2018/article/details/82903680UniHTMLMemo1.Lines.Add("<p>"+UniHTMLMemo3.Text);//发UniHTMLMemo1.Lines.Clear();//清空输入框在这里你会发现我在发送文字处增加了“<p>”,那是因为如果不增加这个,接收窗口显示时会把多次信息链接到一起,没有换......
  • 手把手教你AspNetCore WebApi:缓存(MemoryCache和Redis)
    前言这几天小明又有烦恼了,系统上线一段时间后,系统性能出现了问题,马老板很生气,叫小明一定要解决这个问题。性能问题一般用什么来解决呢?小明第一时间想到了缓存。什么是缓存缓存是实际工作中非常常用的一种提高性能的方法。缓存可以减少生成内容所需的工作,从而显著提高应用程序的性能......
  • 在HBase中应用MemStore-Local Allocation Buffers解决Full GC问题
      译者注:上个月写了一遍博文,介绍一种高效的Java缓存实现http://maoyidao.iteye.com/blog/1559420。其本质是模仿Memcached的Slab,通过分配连续定长的byte[]减少大规模使用JavaHeap作为缓存时不可避免的GC问题。虽然当时构思和实现这一思路时并没有参照其他开源产品,但这一思路在很......
  • hbase gc MemStore-Local Allocation Buffer
     ArenaAllocation,是一种GC优化技术,它可以有效地减少因内存碎片导致的FullGC,从而提高系统的整体性能。本文介绍ArenaAllocation的原理及其在Hbase中的应用-MSLAB。背景假设有1G内存,我顺序创建了1百万个对象,每个对象大小1K,Heap会被渐渐充满且每个对象以创建顺序相邻。此时,如果我......
  • java.lang.OutOfMemoryError: PermGen space及其解决方法
    PermGenspace的全称是PermanentGenerationspace,是指内存的永久保存区域OutOfMemoryError:PermGenspace从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGenspace区域,它和和存放Inst......