测试OOM_KILLER代码

今天模拟了实际的内存分配用完的情况,其实malloc即使真正的分配了内存
分配的内存返回不为NULL,也未必是一个可以使用的内存,如果系统中没有
相关的资源能够得到释放,一旦这个内存被使用到,将会导致程序的越界访问
这种情况,我模拟了的代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
int main()
{
        char* p=NULL;
        while(1)
        {
                p=malloc(sizeof(int)*1000);
                if(NULL==p)
                {
                        break;
                }
                memset(p,0x00,100);
                usleep(10);
        }
        while(1)
        {
                sleep(1);
        }
        return 0;
}

很多人从来没有想到过如何触发OOM,
所以编写代码。所以我很想尝试触发这
个问题。

你可能感兴趣的:(OOM_KILLER)