红联Linux门户
Linux帮助

Linux C吃内存的程序

发布时间:2016-11-11 09:32:26来源:linux网站作者:山下溪水
网上的吃内存的例子,不实用,有的不符合要求,自己写了一个吃内存的c程序,这个程序用了两个进程,一个是吃内存的进程,另一个是专门打印内存使用情况的进程。一开始用一个进程,发现没有达到迅速吃内存的效果,可能其它的调用对内存的消耗产生了影响。
 
通过测试发现,这个程序,还是很实用的。
 
程序如下:
[root@server7 c]# cat eatMem.c   
#include <stdio.h>  
#include <stdlib.h>  
void main()  
{  
int * a;  
int i = 0;  
char log[256] = {0};  
system("> ./free.txt");  
system("date >> ./free.txt");  
system("free -m >> ./free.txt");  
pid_t pid;  
if ((pid = fork()) < 0 )  
{  
printf("fork error");  
}  
else if(pid == 0)  
{  
while(1)  
{  
i++;  
a = (int *)malloc(1024*1024*100);     
printf("allocation=%ldM a=%d \n",i*100,a);  
}  
}  
else  
{  
while(1)  
{  
sleep(2);  
system("date >> ./free.txt");  
system("free -m >> ./free.txt");  
}  
}  
}
[root@server7 c]#
 
本文永久更新地址:http://www.linuxdiyf.com/linux/25908.html