所有
我们假设process'A通过如下代码分配了很多页面
并且process'A定期执行此代码,以便发生内存泄漏。
// allocates 1Mb
for(i=0;i<10;i++)
{
page_p=alloc_pages(gfp_mask, 8);
}
BTW,在没有免费页面的杀戮过程之后,分配的页面会变成什么?
分配的页面是否永久泄漏?
答案 0 :(得分:0)
在Linux中,您有虚拟内存,这是一个每进程内存映射。进程内存是从此映射分配的,OS将此内存映射到物理内存(RAM或交换)。
当进程退出时,操作系统会删除进程内存映射,而另一个进程可以重用它。因此泄漏的内存仅在进程运行时泄露。