14.6.4 Configuring the Memory Allocator for InnoDB 配置InnoDB 内存分配器

当InnoDB 被开发时,内存分配提供了操作系统和 run-time libraries是经常缺乏性能和可扩展性

在那时,没有内存分配库调整用于多核CPUs.因此,InnoDB 实现它自己的内存分配器在内存子系统。

这个分配器是通过一个的单一的互斥锁保护,会成为一个瓶颈。

InnoDB 也实现一个封装接口

如今, 多核系统已经变的越来越广泛, 如今操作系统已经成熟,显著改善已经在内存配置器安装在操作系统。

那些新的内存分配器 执行的更好和比过去更好的扩展。 大部分工作,特别是那些频繁分配和释放(比如多表关联),

你可以控制是否InnoDB 使用它自己的内存分配器或者一个操作系统的分配器,通过设置 系统变量参数 innodb_use_sys_malloc 的值

mysql> show variables like '%innodb_use_sys_malloc%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_use_sys_malloc | ON |
+-----------------------+-------+
1 row in set (0.00 sec) 如果设置为ON或者1(默认情况下), InnoDB 使用 malloc and free functions以来操作系统而不是自己管理内存池 这个参数不是动态的,只有在系统重启时生效。 继续使用InnoDB 内存分配,设置 innodb_use_sys_malloc to 0. 当InnoDB 内存分配器是关闭的, InnoDB 忽略 innodb_additional_mem_pool_size的值。 InnoDB 内存分配使用一个额外的内存池用于满足分配请求 不必再到系统内存分配器。 当 InnoDB memory allocator is disabled, 所有这些分配请求是通过系统内存分配执行

最新文章

  1. Python之路,Day9, 进程、线程、协程篇
  2. select 多表查询
  3. 本地连接虚拟机上面的redis
  4. [转载]在iTOP-4412开发板上调试helloworld应用
  5. Android 滑动效果基础篇(四)—— Gallery + GridView
  6. Case swapping
  7. [html] 学习笔记-Canvas图形绘制处理
  8. POJ2524并查集水题
  9. cocos2dx - 控件扩展之pageview循环显示
  10. 亚马逊AWS学习——VPC里面几个概念的关系
  11. python面试题之什么是PEP8规范
  12. std::condition_variable::wait_until segment
  13. ubuntu 16.04 下安装动态链接库方法
  14. java的同步实现
  15. hibernate flush clear的区别
  16. Android实现录音的方法(最重要的是对MediaRecorder的试用方法)
  17. poj2376 Cleaning Shifts【线段树】【DP】
  18. NotePad++替换行前、行后空格,替换空行
  19. 【BZOJ4550】小奇的博弈 博弈论
  20. 微软SaaS多租户解决方案

热门文章

  1. NoteExpress格式化复制指定输出样式
  2. HTTP基础:URL格式、 HTTP请求、响应、消息
  3. compareTo()
  4. step2 uboot tag存储主要部分代码
  5. js获取元素transform参数得出的个人理解
  6. python中文件类的应用
  7. mysql的账户失效,之前的密码无法登录
  8. Ubuntu12.04中安装ns-allinone-2.34
  9. 恢复误删的procedure
  10. MVC权限模块