32位和64位之间有什么区别,我应该选择哪个?


142

32位和64位Ubuntu有什么区别?我听说64位平台的性能更好,可以检测到4GB以上的RAM。另外,尽管某些应用尚未移植到64位,但ia32-libs让64位计算机运行它们。

如果是这样,为什么不将64位提升为32位呢?




Answers:


147

我相信在32位和64位之间进行选择时的主要问题不是“我的处理器是否支持64位?如果是,那么我应该使用64位,因为那是原来的两倍”,而是“我有多少内存?”

64位程序使用的内存比32位程序多50%。结果是:

  • 更少的代码/数据可以容纳到处理器缓存中->更多的缓存未命中->您的超高速处理器需要更多的时间等待内存控制器从RAM中获取数据。处理器还需要读取更多数据,因为它们更加肿。

  • Linux使用未分配的RAM来缓存磁盘。较少的可用内存->较少的磁盘缓存空间->较慢的磁盘访问

  • 一旦您用完RAM并开始交换系统-磁盘访问速度比RAM慢数千倍,因此64位代码(请参阅下文)的任何潜在好处都在窗口之外。

另一方面,在64位模式下,处理器具有更多的寄存器,因此它不需要经常访问内存,而且某些计算(64位数字等)效率更高。因此,通常,不受内存限制的代码在64位模式下运行速度会稍快。

因此,如果您的系统具有2GiB或更小的RAM,那么我肯定会选择32位。超过4GiB-64位的优势变得更加突出。在4GiB周围是一个“灰色地带”-您需要自己做出选择。

这是在带有1GiB RAM的VirtualBox中运行的(较旧的)香草Ubuntu的屏幕截图:

32位:引导后立即使用388 MiB的RAM,没有其他应用程序在运行(屏幕快照397780KiB,即388MiB)

32位Ubuntu

64位:使用491 MiB的RAM(屏幕截图中的503452KiB = 491MiB)

64位Ubuntu

此外,在我的测试中,使用Python编写的Web应用程序在64位计算机上使用的内存最多增加了60%,这导致测试套件在32位计算机上运行380秒,而在64位计算机上则需要523秒位1(均具有1GiB的RAM)。如果机器不受RAM限制,结果可能会有所不同(如phoronix测试所示)。

这是一些更彻底和最新的测试:http : //kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

无记忆 记忆使用 交换使用

基本上,它就像在交流放弃你的RAM的30%可能增加 10%的CPU速度。


1
因此32位388M;64位,498M或大约110M以上,占2G的30%?
不合理的约翰

22
我同意这些数字,但不同意结论。RAM减少30%,性能提高10%,这已成为世纪之交!而且,获得额外的RAM比更换CPU要便宜得多。
奥利(Oli)

1
是的,我不同意这一点,但我会提出更强的建议,​​并进一步介绍,仅在不支持CPU或无法升级RAM的情况下才建议使用32位(这是古老的或您将其丢弃) 。拥有<= 2GB的现代计算机的人应该在ebay上花费20-30美元,并拥有4GB。值得增加10%。
奥利(Oli)

1
我很好奇,这里有很多打开标签和javascript的现代浏览器。我经常通过打开许多标签来进行交换(即使使用8 GB的RAM),现代网站使用了大量的javascript库等。相比之下,如果使用大量的chrome或firefox,内存和cpu速度如何比较?
nealmcb 2014年

2
在2015年是否仍然如此?我想在具有1GB内存和较慢的CPU(支持64位)的Atom平板电脑上安装Ubuntu 14.04,因此阅读此书后,我强烈倾向于32位。自发布此答案以来,有什么值得考虑的变化吗?特别是就64位的基本内存消耗而言,与32位相比,因为内存将是此系统上的最大瓶颈。
Andreas Hartmann

22

如果您不希望学习技术细节,请选择推荐的32位版本。

即使客观上很难注意到,64位通常也更快。这与64位数据宽度无关,而与整个指令集上8个公共CPU寄存器中的16个的可用性有关。因此,大多数情况下,浪费了更多的内存用于管理和更大的指针的缺点。

实际的问题:并非每个人都具有与AMD64兼容的CPU。在标准i686版本上升级64位将导致更多的用户沮丧。因此,在接下来的几年中,向普通用户展示32位版本会比较容易混淆。对于任何一个已知的人来说,这都不是完全问题,因为64位版本已经可以使用了。而且,我们的amd64用户在这种情况下没有任何缺点,除了最初的下载。所有软件包均可在两种体系结构中使用。

在这种情况下,Ubuntu下载页面对我来说还可以。它说“ 32位(推荐)”,但是“推荐”翻译为“如果您不了解计算机的所有技术细节,则问题较少”。对于上网本版本的下载页面,甚至没有选择,因为某些Intel Atom CPU甚至在2010年都只有32位!
因此,总而言之,我认为避免兼容性问题仍然是必要的。但是,我同意-64至少比-32快,至少应该有一个闪亮的脚注,并建议目标系统支持IF(但仅限IF)。


1
II将是有趣的,当新的X32二进制文件和ABI将得到支持,有多少64位的应用程序将切换到该ABI en.wikipedia.org/wiki/X32_ABI使用更少的资源和内存,并充分利用CPU。
Emanuele

如果建议使用32位,那么为什么Wubi更喜欢64位
Dan Dascalescu 2012年

1
现在可能建议使用nb 64bit ...
Wilf

5
读者注意:该答案写于4年前。我现在不建议安装32位,并且我不认为Ubuntu会推荐它。
thomasrutter 2014年

现在,这个问题将在不到一年的时间内得到解决,在Ubuntu 16.04之后64位版本可能会成为默认设置 ..
mario 2014年

18

术语32位和64位是指计算机CPU处理信息的方式。64位版本比32位系统更有效地处理大量RAM。1个

  • 要运行64位OS,您需要64位CPU的支持。
    • 要运行64位应用程序,您需要64位OS和64位CPU的支持。

一般规则是32位(操作系统和应用程序)将在64位上运行,但64位(操作系统和应用程序)在32位上不能运行:

  • 32位操作系统可以在32位或64位处理器上运行,而不会出现任何问题。
  • 32位应用程序可以在32位或64位OS上运行,而不会出现任何问题。
  • 但是64位应用程序只能在64位操作系统上运行,而64位OS将仅在64位处理器上运行。

安装64位OS需要一个64位兼容的CPU。请与您的PC制造商联系,以了解您的系统是否兼容64位。

32位系统的RAM内存限制为4 GB,这意味着即使系统上安装了更多的RAM,它们也不能寻址超过4GB的内存(并非全部使用)。解决方法是可用的,但对于普通用户而言却很难做到。

注意: Ubuntu 12.10及更高版本将自动支持PAE。在12.10之前,您可以选择根据您的CPU选择PAE支持。PAE将32位的最大RAM扩展到64GB,可以在此处找到更多信息

64位版本还具有其他优势,包括增加带宽,启用硬件的DEP(防止数据执行)和更好的内核保护。

大多数32位应用程序将继续在64位系统上运行,但是某些应用程序根本无法运行,或者运行速度会变慢。

有关更多信息,您可以查看32位和64位

1资料来源:微软


@Alvar CPU必须支持PAE。通常,如果您拥有4 Gb或更多的内存并且/或者想充分利用64位体系结构,则建议使用适当的64位系统。
米奇

我了解,但是正如我所说的,CPU必须支持PAE才能正常工作。例如,Atom不支持PAE。
米奇

只是将其作为答案中的注释添加。
米奇

添加了有关PAE与来源的说明。希望你对此感到满意。
阿尔瓦(Alvar)

10

正如指出这里Phoronix:“随着Ubuntu的多拱形势正在清理,大多数应用程序和插件现在工作的64位精(如Adobe Flash和Java),和64位是通常的速度远远超过32位,确实没有太大理由不使用x86_64版本。”

尽管讨论了将64位指定为默认位而不是32位,但我认为第一个会提高性能。请参阅这些基准

Phoronix所说的 “低” RAM内存:“ [S]一些Ubuntu开发人员过分担心32位上网本仍然存在,对于只有2GB RAM的系统,使用x86_64软件可能会导致运行内存不足,因此增加了SWAP使用率。但是,对于大多数用户而言,在64位环境中,他们的状况要好得多。”

也许您可以安装它,并观察系统是否经常使用交换。


3

不久前,我针对Ubuntu Precise LTS进行了研究。以下是我进行的一些分析的结果:

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/low-memory-systems/readme.txt

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

基本上,如果您拥有4GB或更少的内存就可以了,对于超过4GB的内存,请考虑使用i386-pae或amd64。64位系统会消耗更多的内存(例如,指针的大小为64位),但是由于使用64位副本或使用64位模式下可用的额外CPU寄存器的优化,您可能会在64位系统上看到性能上的胜利。


3

对我而言,最重要的事实是您不能在32位操作系统上使用ZFS文件系统,因为由于32位操作系统的vmalloc限制(无论PAE或nonPAE),它在该处都是不稳定的。这就是我重新安装到64bit的原因,而且我从不回头。甚至NVIDIA在“故障排除”页面中也很少有关于vmalloc的内容,最后是鼓励用户切换到64位内核。

在32位模式下,地址限制为1GB,因此,即使它可以使用多达4GB,也只有1GB被称为“低”,而其余部分是“高内存”,这不是那么普遍。如今,1GB的数量确实很少。尝试#free -l


2

如先前的张贴者所述,64位与32位是指计算机一次可以移动的数据大小。这与CPU上寄存器的大小和总线的宽度有关(寄存器只是保存要供CPU操作的数据,它们过去在消费类硬件中很小,自从家庭计算开始以来就一直在增长。总线将主板的不同部分连接在一起,它们是数据在其上流动的高速公路。

问题在于,大多数操作系统在移至64位操作时都遇到了一些实际问题,对驱动程序和应用程序的支持很差。通常,应用程序在早期版本中的性能实际上较差。鉴于没有真正的理由让大多数人跳入深渊,Linux的动力似乎比咳嗽的其他OS慢一点,但稳定。


2

对于普通用户,Ubuntu官方站点建议您使用32位版本,因为其调整更为灵活。
我在这里指的是数据的一致性。

任何赞成与反对都有很多观点。我认为,与使用64位软件和驱动程序直接相关的Intel体系结构64位处理器上的64位OS的出色性能,可以使您有机会击败常规的32位性能。

请注意,在非常不同的情况下,在64位OS上使用32位软件有时可能会导致性能下降甚至过热。

但是,通过已签名的组件和以下参考文献:
英特尔®扩展内存64技术:64位桌面计算
...使用4Gb +内存可以获得更好的体验。

我认为这对您来说将是很好的解决方案,而不是非常昂贵的解决方案。

是的,同时使用两个系统能够使您更加清楚地理解配置和功能的含义。


2

基本上我会说如果需要的话使用64位版本。

如果您主要浏览网页,观看youtube,在Facebook上闲逛,观看电影等,那么32位更好,因为您不需要任何好的硬件即可完成这些操作。

如果您在Steam,WINE等上玩游戏,运行大量程序,进行一些媒体编辑,那么64位是最佳选择。

所以随便使用32位操作系统,高级则使用64位版本。


1

32位和64位是指一块内存的大小(或宽度),或更准确地说,是指计算机CPU中的内存寄存器-这定义了处理器在一次操作中可以处理多少数据。32位和64位是指一块内存的大小(或宽度),或更准确地说,是指计算机CPU中的内存寄存器-这定义了处理器在一次操作中可以处理多少数据。是的,这意味着64位版本可以更快地运行,因为它可以一次处理更多数据。


1

老实说,除了编译程序和视频编码所需的时间略有减少外,我没有其他任何区别。除此之外,我的感觉也一样。我注意到,在性能方面真正起作用的是视频驱动程序。我想可以更好地支持32位视频驱动程序。我最近在32位系统上安装了最新的nVidia 260驱动程序,它产生了很大的不同。我目前正在使用32位。


1

我在AMD64芯片中使用Ub64,可以感觉到速度差异。这不是很大的提升,但是您可以感觉到。您为什么不试一试10秒钟,然后自己在自己的系统上进行比较(这就是问题所在)?我相信您不会浪费时间,因为这几天安装非常快。(tks Ubuntu!-)

Java / Flash问题在网上也有“良好”的解决方法。


1

就我个人而言,我在台式机上运行64位,因为它支持4GB以上的RAM。您还可以提高速度。我知道您还可以优化32位以检测4GB或更高的RAM。关于您的第二个问题,32位的名称为i386,因为intel是开发32位指令/技术和AMD所遵循的。然后,AMD开发64位,然后英特尔追赶或采用了该技术。这就是6​​4bit是Amd64的原因。


1

像squallbayu一样,我希望64位可以更好地工作,因为我刚刚在2011年春季购买了最新的Lion OS的17“ Macbook Pro英特尔i-7 8 Gig RAM 500 Gig硬盘驱动器。不幸的是,先安装了64位,然后安装了32位降低32位的稳定性和平滑度。.我并没有意识到与速度有关的任何问题(最小差异)因为我不是专家,但是我真的认为,直到软件开发人员学会了64位的好处如何利用其力量


1

除了其他社区成员的出色差异之外,如果您担心RAM,则可以随时安装zRAM。

zRAM上的维基百科信息:

zRam是Linux内核的实验(登台)模块。它以前称为“ compcache”。zRam避免了在磁盘上进行分页,从而提高了性能,而是在需要分页使用的RAM中使用压缩块设备,直到需要使用硬盘驱动器上的交换空间为止。由于使用RAM的速度比使用磁盘的速度快,因此zRam允许Linux在需要交换/分页时更多地使用RAM,尤其是在安装了较少RAM的旧计算机上。

即使RAM硬件的成本相对较低,此功能仍可为上网本和其他低功率笔记本电脑,虚拟化以及嵌入式设备(尤其是那些使用寿命有限的闪存,取决于写入用途的嵌入式设备)提供优势。因此在用作交换设备时会很快磨损。


1

自从提出这个问题以来,32位和64位之间的差异没有改变。

我建议使用64位版本。
我不知道不能在64位系统上使用的软件,如果要使用4 GB(或更多)的RAM,则需要使用64位版本的ubuntu。


我只有4GB的RAM,还是选择64位版本更好?这个问题的答案对我来说太技术性了。谢谢
Cool_Coder 2013年

1
使用64位版本。我认为您不会对此有任何疑问。我在所有机器上都使用64位,没有问题。
prophecy201

好的,感谢您提供的信息。我将安装64位版本。
Cool_Coder

@Cool_Coder,应该考虑使用32位版本的唯一原因是,如果您在使用Juniper Networks Connect的公司工作,Juniper Networks Connect是仅基于32位Java的基于Web / Java的VPN系统。可以肯定的是,可以在64位Ubuntu中安装32位Java,但是我发现这样做有点麻烦。除此之外,我没有其他理由支持在4GB计算机上使用32位Ubuntu。
user68186

0

除了能够解决更多的内存问题并可能提高速度外,您还应该为Windows 8或更新版本的Windows 8附带的支持UEFI的新计算机下载并安装64位版本。

虽然正在研究对UEFI系统的32位支持,但目前没有可用的以UEFI模式启动的标准32位映像。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.