做实验时要使某个程序占用固定大小的内存,这里写了一个小程序,在linux环境下:
1、首先使用free -mo -s 2 命令查看系统内存使用量:
2、打开另一个终端编写occupy.c源文件如下:
#include<stdio.h>
#include<sys/mman.h>
#include<stdlib.h>
#include<unistd.h>
//要占用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<alloc_size;i+=page_size){
mem[i] = 0;
}
printf("i = %zd\n",i);
while(1){
sleep(5);
}
return 1;
}
执行命令:
gcc occypy.c -o occupy
sudo ./occupy
查看Solaris系统的内存大小及使用情况:http://www.linuxdiyf.com/linux/5592.html
Linux和Windows修改Java虚拟机内存大小:http://www.linuxdiyf.com/linux/3323.html
Android Studio 1.0.2设置内存大小:http://www.linuxdiyf.com/linux/11373.html