innodb分配内存

innodb分配内存有三种方法

1)使用OS的malloc

2)使用innodb自己实现的内存分配方法

3)使用goolge的Tmalloc

在my.cn配置文件中可设置

#InnoDB是使用自带的内存分配程序, 
#还是使用当前部署的操作系统中现有的更高效的内存分配程序 
#默认设置值为1, 
#设置为0:表示Innodb使用自带的内存分配程序。 
#设置为1:表示InnoDB使用操作系统的内存分配程序。 
innodb_use_sys_malloc = 1 

 http://www.2cto.com/database/201411/351115.html

innodb分配内存_第1张图片

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 分配内存

你可能感兴趣的:(innodb分配内存)