innodb分配内存
innodb分配内存有三种方法
1)使用OS的malloc
2)使用innodb自己实现的内存分配方法
3)使用goolge的Tmalloc
innodb引擎分析之内存管理
在my.cn配置文件中可设置
#InnoDB是使用自带的内存分配程序,
#还是使用当前部署的操作系统中现有的更高效的内存分配程序
#默认设置值为1,
#设置为0:表示Innodb使用自带的内存分配程序。
#设置为1:表示InnoDB使用操作系统的内存分配程序。
innodb_use_sys_malloc = 1
http://www.2cto.com/database/201411/351115.html
innodb自己实现的内存管理分三部分
1)基础内存管理
ut_mem_block_t 结构体
2)伙伴分配器
3) 内存分配堆heap
innobase_start_or_create_for_mysql
srv_boot
srv_general_init
mem_init
mem_pool_create 分配一大块内存,并初始化buddy
ut_malloc_low 分配内存