为了能尽快复现内存泄露的现象,写了一个小工具,可以分配指定的内存,以使得可以使用的内存减少。
该工具可以编译为内核模块或者独立的程序,依靠STANDALONE_MODE宏区分。
Makefile:
该Makefile是为MIPS CPU的交叉编译写到,如果是别的平台,需要做修改。
使用方法:
内核模块的使用方法:
insmod holdmem.ko amount=xxx method=n
amount: Memory amount to hold in byte, use 'M' or 'k' suffix to change unit. Default is 1MB.
method: Memory allocate method, 1=kmalloc, 2=vmalloc. Default is 2
例如:
insmod holdmem.ko amount=2M
用户空间程序的使用方法:
$ ./holdmem -h
holdmem v1.0
Holding amount of memory for test memory leak.
Usage: /phone/holdmem <options> amount
options:
-h: show help.
-s: standalone other than daemon mode.
-n: DO NOT copy random data to holded buffer.
amount: memory size in byte, use 'M' or 'k' suffix to change unit.
amount缺省是1MB
例如:
heldmem 2M