我的Linux内核版本是2.6.34.13
CPU是Powerpc。
我想在用户进程和内核模块中完全禁用OOM-killer。
通过配置下列参数,我禁用了oom killer。
vm.overcommit_memory = 2
vm.overcommit_ratio = 100
在这种情况下,malloc()
返回可用地址,直到分配了所有(物理内存+交换)区域。如果已经分配了所有区域,它将返回NULL并且OOM杀手将不会执行。
然而,kmalloc()
如何使用GFP_KERNEL参数?
如果完全分配了ZONE_NORMAL区域,kmalloc()
将返回NULL?和OOM杀手没有表现?