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

我使用的是32位Ubuntu 12.04。 我的内核是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 

简答:如果可以的话,去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位; 这可以帮助防止某些类型的病毒/恶意攻击(缓冲区溢出),但IMO在为Ubuntu选择32位内核时这并不重要。

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

  • Phoronix多年来进行了多项测试,结果表明, 在4GB或更低的系统上 ,PAE内核最多比非PAE内核慢约5%。 这仅适用于特定的测试应用程序; 通常的差异小于1%。
    • 测试12.04 LTS – 8 GB系统!
    • 测试11.04 – 4和8GB系统

和64位几乎总是打败32位内核 – 去吧!

  • 上面的Phoronix基准测试告诉你的一点就是64位是王道 – 即使你的RAM少于4GB(尽管我建议最低1GB)
  • 如果你有一个64位处理器 – 通常是2006年以后的任何东西,除了Intel Atoms – 你可能会因使用32位内核而失去性能

比较非PAE与PAE页表访问:

  1. 非PAE

    在此处输入图像描述

  2. PAE

    在此处输入图像描述

对于一些真实世界的数据,这里是我在基于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

..可以给出一些利弊的见解。

我使用某些软件(zfs文件系统)使用32位12.04时遇到了严重麻烦,揭示了32位系统的vmalloc限制(我已经尝试了pae和非pae以及vmalloc和depmod params调整,死亡……但是没有成功)。 这可能是一个特例,但可以作为一个例子给出。 32位内核深处的限制是1GB,即使可以使用高达3.2 GB的内容。

如果可以,请选择64位。 我很确定Tou vcan …我想到目前为止,几乎所有正在运行的系统都应该支持它(= 64位cpu core)。 后来“升级”在某种程度上是不安的(这意味着实际上重新安装,即使dpkg和复制/ etc /和/ home /可能有助于使新安装运行..)但仍然应该是可以接受的。 我认为使用64位没有任何问题,即使你因某些原因被迫使用旧的/闭源32位应用程序或某些库。