做实验时要使某个程序占用固定大小的内存,这里写了一个小程序,在linux环境下:
1、首先使用free -mo -s 2 命令查看系统内存使用量:
2、打开另一个终端编写occupy.c源文件如下:
#include
#include
#include
#include
//要占用100M内存,以字节为单位
const int alloc_size = 100*1024*1024;
int main(){
char *mem = malloc(alloc_size);
//使用mlock锁定内存
if(mlock(mem,alloc_size) == -1){
perror("mlock");
return -1;
}
//typedef unsigned int size_t
size_t i;
//获得每一个内存页的大小,一般为4K
size_t page_size = getpagesize();
for(i=0;i
mem[i] = 0;
}
printf("i = %zd\n",i);
while(1){
sleep(5);
}
return 1;
}
执行命令:
gcc occypy.c -o occupy
sudo ./occupy