在没有免费页面的杀戮过程后,分配的页面会变成什么?

时间:2013-11-15 04:58:08

标签: linux memory-management memory-leaks out-of-memory

所有

我们假设process'A通过如下代码分配了很多页面 并且process'A定期执行此代码,以便发生内存泄漏。

 // allocates 1Mb
for(i=0;i<10;i++)
{
  page_p=alloc_pages(gfp_mask, 8);
}
BTW,在没有免费页面的杀戮过程之后,分配的页面会变成什么? 分配的页面是否永久泄漏?

1 个答案:

答案 0 :(得分:0)

在Linux中,您有虚拟内存,这是一个每进程内存映射。进程内存是从此映射分配的,OS将此内存映射到物理内存(RAM或交换)。

当进程退出时,操作系统会删除进程内存映射,而另一个进程可以重用它。因此泄漏的内存仅在进程运行时泄露。