对于 32 位内核,PAE 与非 PAE 的优点/缺点是什么?

对于 32 位内核,PAE 与非 PAE 的优点/缺点是什么?

我使用的是 Ubuntu 12.04 32 位。我的内核是 PAE 内核。我知道这些是我们可以用于具有 4 GB RAM 的 32 位操作系统的内核,以利用所有 4GB RAM。

我的系统是 32 位系统。所以我认为我不需要它们。如果我继续运行 PAE 内核,我会有什么优点和缺点?

raja@badfox:~$ uname -a
Linux badfox 3.2.0-24-generic-pae #39-Ubuntu SMP Mon May 21 18:54:21 UTC 2012 i686 i686 i386 GNU/Linux

答案1

简短回答:如果可以的话,请使用 64 位,它比 PAE/非 PAE 32 位都快;如果不能,非 PAE 可能比 PAE 快 1-2%。


从理论上讲,PAE 比非 PAE 的开销略小……

  • PAE 的一大优势是允许 32 位处理器/系统使用超过 4GB 的 RAM
  • 但这比非 PAE 需要的开销稍微多一些,从而导致性能略有下降。
    • 这是一个非常简单的解释:在非 PAE 模式下,32 位 CPU 必须查找(访问)表来访问物理内存地址;在 PAE 模式下,它必须查找表来执行此操作。一个额外的查找需要一些(非常小的)额外时间,从而产生额外的开销。
    • 本回答最后有两张图片来自维基百科 PAE 文章,说明了上述观点。
    • NX/XD 位:PAE 内核还支持 64 位处理器上的 No-eXecute/eXecute-Disable 位;这有助于防止某些类型的病毒/恶意攻击(缓冲区溢出),但在我看来,在为 Ubuntu 选择 32 位内核时这并不重要。

...但实际上这种开销可以忽略不计(几乎没有)...

  • Phoronix 多年来进行了多次测试,结果表明在 4GB 或更少的系统上,PAE 内核可能最多比非 PAE 内核慢大约 5%。这仅针对特定测试应用程序;通常差异小于 1%。

并且 64 位几乎总是击败 32 位内核——加油!

  • 上述 Phoronix 基准测试告诉你,64 位才是王道——即使你的 RAM 少于 4GB(尽管我建议最低 1GB)
  • 如果你有 64 位处理器(一般是 2006 年以后的处理器,英特尔凌动除外),那么你可能表现不佳通过使用 32 位内核!

比较非 PAE 与 PAE 页表访问:

  1. 非PAE

    在此处输入图片描述

  2. 聚丙烯酰胺凝胶电泳

    在此处输入图片描述

答案2

对于一些真实世界的数据,下面是我在基于 Atom 的上网本和基于 Sandybridge 的笔记本电脑上为 i386、i386-pae 和 amd64 安装收集的一些基准测试:

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/hpmini-and-x220-tests/results-3/results.txt

..可能会对优点和缺点提供一些见解。

答案3

我在使用 32 位 12.04 和某些软件(zfs 文件系统)时遇到了严重的问题,揭示了 32 位系统的 vmalloc 限制(我尝试过 pae 和非 pae 以及 vmalloc 和 depmod 参数调整,但都失败了……)。这可能是一个特殊情况,但可以作为一个例子。32 位内核内部某个地方的限制是 1GB,即使最多可以使用 3.2 GB。

如果可以,就选择 64 位。我非常确定 Tou vcan... 我猜到目前为止,它(=64 位 CPU 核心)应该得到几乎所有正在运行的系统的支持。稍后的“升级”有点不太容易(实际上这意味着重新安装,即使 dpkg 和复制 /etc/ 和 /home/ 可能有助于运行新安装...)但仍然应该可以接受。我认为 64 位没有什么问题需要担心,即使您出于某种原因被迫使用旧的/闭源的 32 位应用程序或某些库。

相关内容