Kmalloc可以申请的最大内存

Kmalloc申请的最大内存

以前虽然读过源码,但是对于它的申请上限确实没注意过。下面分析下,下面是kmalloc的源码。

 

可以看出,如果想知道kmalloc能申请的范围,需要跳转到<linux/kmalloc_sizes.h>文件中观察。下图便是包含的<linux/kmalloc_sizes.h>文件

 

可以看出,kmalloc一般情况下的上限是128K,但是如果打开了KMALLOC_MAX_SIZE这个宏,可以申请的内存会更大,如果想要知道上限的话,需要知道KMALLOC_MAX_SIZE的大小,这个宏以及其相关的宏的定义如下:

 

 

 

 

 

 

根据上面的宏去分析,可以得出KMALLOC_MAX_SIZE8M大小,所以在我的这台计算机上,可以使用kmalloc申请的最大存储区域为8M





posted @ 2015-12-13 21:08  DChipNau  阅读(5835)  评论(0编辑  收藏  举报