innodb分配內存有三種方法html
1)使用OS的mallocmysql
2)使用innodb本身實現的內存分配方法linux
3)使用goolge的Tmallocsql
在my.cn配置文件中可設置spa
#InnoDB是使用自帶的內存分配程序,
#仍是使用當前部署的操做系統中現有的更高效的內存分配程序
#默認設置值爲1,
#設置爲0:表示Innodb使用自帶的內存分配程序。
#設置爲1:表示InnoDB使用操做系統的內存分配程序。
innodb_use_sys_malloc = 1 操作系統
http://www.2cto.com/database/201411/351115.htmlhtm
innodb本身實現的內存管理分三部分blog
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 分配內存