我有一台旧机器英特尔D2700DC主板。我用它作为一些业余项目的家庭服务器。我在上面安装了 Ubuntu 32 位,但最近发现它的嵌入式 D2700DC CPU 实际上是 64 位处理器。
我的问题是值得重新安装 Ubuntu 64 位而不是 32 位吗?我有 3GB 内存,但看起来该硬件的内存限制为 4GB。
您认为它在某些方面会更快吗?或者我可以通过安装 64 位获得哪些其他好处?我看到的一个原因是 Ubuntu 在最后一个主要版本中停止支持 32 位,而我仍然使用 Ubuntu 18.04。
答案1
它不会以任何有意义的方式更快,但 32 位的现实是它越来越遗留,这意味着在现实世界中,错误没有被发现和修复。
如果我是你,我会安装 64 位,主要是因为它更可靠并且更容易修复错误。它还将使您的机器面向未来,因为您可以时不时地更新到下一个操作系统版本,而不必担心它。
所有 FOSS 项目的开发人员的眼睛/时间都是有限的,而 32 位已经不再有那么多的眼睛和时间了,而且遗憾的是,没有神奇的编码员可以修复东西,因为它坏了。最明智的做法是接受这一限制作为现实,因为它不会真正改变。
据我所知,至少有一个第 3 方 Linux 内核构建者最近停止支持 32 位,因为存在一系列已知但没有得到修复的 32 位内核错误,而且它们似乎也不太可能在将来得到修复。这就是 Linux 内核项目,它有数千名贡献者。与开发人员少得多的其他项目相比,它只是从那里开始走下坡路。随着 32 位从越来越多的主要 GNU/Linux 分发池中删除,这种情况将发生在越来越多的核心和非核心软件和工具上。
随着 Google Chrome、Firefox 等主要项目开始放弃(如果尚未放弃的话)32 位支持,这一点变得越来越重要,这意味着您将使用不安全的不可更新软件来访问互联网。
请注意,理论上您可以从 32 位跨级到 64 位(至少在 Debian 上,不确定 Ubuntu),我在一台机器上测试了一下,但它太痛苦了,需要很长时间,而且留下了如此多的时间。非常麻烦,并且需要如此多的手动修复,最终我认为这不值得,然后通过重新安装将系统的其余部分切换到 64 位。
请记住,您可以复制主要配置,然后获取软件包列表,并在重新安装到 64 位时重新安装软件包,不需要那么长时间,一旦完成,就不再需要担心了。
你的另一个选择是永远不再升级你的盒子,让它运行直到它死掉。在不与互联网交互的系统上,这并不是一种糟糕的处理方式,但是有一天,当您需要匹配 samba 或 nfs 之类的版本时,您可能会遇到麻烦,而您却不能,因为您的服务器盒子操作系统太旧。
答案2
可能值得重新安装到 64 位操作系统。正如 Lizardx 提到的,现在对 32 位 x86 系统的关注较少,人们修复的错误也较少。
此外,它确实有可能会稍微快一些,因为 x86-64 有 16 个通用寄存器,而 x86-32 只有 8 个。目前,出于安全原因在大多数二进制文件中使用位置无关代码,它是在 x86-64 上免费,具有 RIP 相对寻址,但在 x86-32 上需要额外的寄存器。拥有额外的寄存器意味着程序可以在 CPU 上保留更多数据,而不必访问内存,从而提高性能。
然而,内存使用量可能会略有增加,因为指针将是 64 位而不是 32 位。如果你现在的记忆力真的很紧张,那不会让它有任何好转,但除此之外,可能还不错。
一般来说,我的建议是这样做。您将获得更好的支持、性能稍高的环境。
答案3
重新部署 64 位发行版的收益充其量也是微乎其微的。当然,您会获得更多的内存支持,但除非当前的盒子面临内存压力,否则可能不会引人注目。
考虑到硬件的使用年限,您可能最好在较新的硬件(不一定是新的)上构建新的 64 位安装,并随着时间的推移将所有功能从旧机器上迁移出来。最终,旧盒子将不再执行任何操作,您可以将其关闭并存储它(或仅存储其驱动器)一段时间,以防丢失某些内容。
然后您可以处置或重新部署该盒子。如果只是 32 位,那就没有多大用处了。如果是耗电的 P4 也一样。
我也处于你的位置 - 我有一个 2001 年安装的 debian 主机,虽然随着时间的推移,每个硬件都被更换,但发行版已经升级,它仍然是原始的“安装”并且是 32 位。
我正在这样做,但是新的盒子是 xcp-ng 下的三个独立的虚拟机,所以我将电子邮件功能从网络服务中分离出来,从“其他一切”中这样做意味着您可以专注于一项服务/一次任务。我最后将鱿鱼移至“所有内容”框,现在已经解决了,我将致力于将 Cacti 迁移到网络服务器。缺点是,如果没有动力,这是一个缓慢的过程。