页表总是在内存中吗?页表是否会被换出?

时间:2014-09-10 03:46:19

标签: linux memory-management paging

我认为页表是由Linux内核维护的,因此不应该换掉页表的内存需求,因为内核没有页面错误的东西。但是,如果pgd,pmd,pte表都在主内存中并且从未换过,多级分页的含义就无法保存任何内存。

所以我对页表本身的管理方式感到困惑。

1 个答案:

答案 0 :(得分:1)

好吧,根据维基百科的说法,页面表确实没有被换出 - 但是交换表并不能使它们的内存效率高! 举一个例子:我们的物理内存大小为4GB,每页大小为4KB,因此我们需要4MB大小的表来映射每个地址。此问题的解决方案不是交换表的一部分,而是创建表的层次结构,因此您只能分配所需的层次结构中的部分。这里解释得非常彻底:Why using hierarchical page tables?