红联Linux门户
Linux帮助

占用linux固定内存大小的小程序

发布时间:2015-10-04 15:42:07来源:linux网站作者:小白的学习日记

做实验时要使某个程序占用固定大小的内存,这里写了一个小程序,在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