有人告诉我,32位的Linux有一个bigmem内核(当系统内存大于 4GB时) 比 64位的Linux 性能要好 。
我很乐意为你定义“ 比你更好 ”,但不幸的是,这个告诉我的人没有详细说明/辩解..因此,这篇文章!
这有什么道理吗? 任何情况下,这将是真实的?
谢谢
在x86处理器中,64位代码有两种方式:
并有以下缺点:
因此,在很多情况下,两全其美是64位操作系统和32位处理器:
但总的来说,这个好处很less引人注意(只是猜测它远远低于5%),所以随处使用64位就可以简化了。
唯一的情况下,我一定会用32-on-64就是在做OpenVZtypes的隔离。 这样,每个分区所有者就可以充分利用他可以访问的有限RAM。
仍然,我不知道任何超过64位PAE(甚至没有小指针,因为每个PAE指针有一个32位的偏移量和一个额外的(最多32位)“开始”(记住分段内存8086?多么膨胀的负荷!)
PAE伤害performance。 唯一可能的增益是指针大小的一半,但是现在你必须处理交换周围的内存页面。
除了较less的寄存器饥饿之外,x86_64还为您提供更明智的浮点运算。 它也保证你的二进制文件得到更好的优化,因为编译器不需要发射向后兼容的操作码。 如果你正在运行任何cpu-bound,这是一个巨大的胜利。