我和许多其他以前的 Windows 用户都注意到,随着时间的推移,计算机似乎变得越来越慢。我买了一个 Leapfrog crammer,结果发现它的安装过程就在那里等着我插入 crammer,这样它就可以运行软件了。它占用了每周七天、每天 24 小时都占用 CPU 的 3%!这是我离开 Windows 的主要原因之一。但是,Ubuntu 似乎一点都不会随着时间的推移而变慢。Ubuntu 是否允许程序像 Leapfrog Crammer 那样安装后台程序,像水蛭一样坐在那里吸走资源?有人能解释一下为什么 Windows 会随着时间的推移而变慢,Ubuntu 是否也容易受到这种影响?谢谢您的帮助,这让我很困惑。
答案1
我认为最重要的原因是 Windows 上的大多数程序注册表依赖。注册表可以说是一个组织良好的存储,但它并不是一个非常有效的存储。当您第一次安装 Windows 时,注册表很小,查找操作也不昂贵;然而,随着您安装越来越多的程序,注册表变得越来越大,越来越难以管理。
另一个因素是磁盘碎片。NTFS 和 FAT 因无法防止碎片而臭名昭著。另一方面,Linux 文件系统,尤其是 ext3(我没有使用过 reiserFS 或其他替代文件系统)对碎片的抵抗力很强。
碎片化简介
什么是碎片化? 本文很好地解释了这一点,但其要点是:Windows 将其所有文件集中到磁盘上的一个位置,而 Linux 则将它们分散到各个位置。这意味着,当 Windows 上的文件增长时,它可能会变得太大,以至于与下一个文件的硬盘分配重叠,因此必须移动或(更可能)碎片化,新的碎片存储在硬盘上的不同位置。下次访问该文件时,Windows 实际上必须二磁盘访问,一次用于初始文件,另一次用于新创建的片段。另一方面,当文件在 Linux 中增长时,通常有足够的空间,操作系统会顺利运行。Linux 的方法在机械硬盘上确实有一个小缺点,那就是由于文件分散在各处,因此在访问一系列“聚集”文件时会有一点延迟。埃4拉特该项目在消除或减少其中一些延迟方面效果相当好(仅限 ext4 文件系统),并且所产生的开销永远不会比 Windows 因文件碎片而经历的开销更糟糕。
另一个因素是 Windows 的一个小技巧:Windows 安装永远不会在启动时启动。Windows 启动了很多进程后您登录后。Windows 中系统进程和用户进程之间的区别比较模糊,特别是 XP 之前的旧版本。许多 Windows 应用程序都非常渴望启动后台进程并放置托盘图标。随着时间的推移,Windows 安装在启动时会启动越来越多的进程。然而 Linux 严格要求在您登录前启动所有系统进程。登录后,只会启动极少量的进程。Linux 也从不鼓励使用与特定用户的特定任务相关的后台服务,或者使用托盘图标。Gnome 的最新版本拒绝所有应用程序放置托盘图标,除非是一个非常狭窄的白名单。因此随着时间的推移,Linux 安装在启动后仍然只会启动有限数量的进程。
我确信还有许多其他因素导致了这种现象,这些是我想到的主要因素。
答案2
事实上,我曾向一位微软员工提出过这个问题,当时她正在做关于触摸屏技术的特别演讲,以及微软计划如何处理它,她能给我的最佳回应就是“Windows 速度变慢是由于操作系统碎片化造成的,我们仍在深入研究为什么会出现这种情况以及如何解决这个问题。”
我觉得这种差异可能是由于 Ubuntu 处理包管理和配置的方式与 Windows 的方式不同,尽管我无法进一步解释这一点。如果我们无法访问 Windows 的源代码来解释它的行为方式,我们可能永远无法完全了解。
此外,Ubuntu 每 6 个月发布一次新版本,如果每次都安装新版本,则发布间隔可能不足以注意到任何潜在的速度下降。或者也可能是因为 Ubuntu 的臃肿程度较低,因此出错的可能性也较小。
答案3
Windows 变慢的原因是每个应用程序都带有一个控制不太好的安装程序。例如,编写安装脚本的人实际上并不关心当您删除它时他们的程序会留下什么,因为一旦您删除它,您就不再是客户了。更悲观的人会说他们故意这样做是为了让您更频繁地升级,这可能并非 100% 错误。
此外,注册表也是一个大问题,希望 SSD 能大大改善这个问题,但它是一个非常集中的故障点和瓶颈。每次系统需要硬件信息时,它都会转到注册表,每次启动应用程序时,它都需要从注册表获取信息。首次安装时,注册表应如微软所愿。但由于任何安装都可以自由控制对注册表的操作,而且没有机制可以删除无用的条目,因此整个注册表很快就会变得拥挤不堪。
Ubuntu 当然也容易变慢,尽管大多数应用程序都使用自己的 .conf 文件,但有些应用程序共享的 gnome 配置文件除外。但是,.deb 的结构意味着硬盘上的任何内容都可以用正确的命令删除。即使您不发出“apt-get remove --purge ...”来删除配置文件,您的用户目录中也只剩下一个文本文件,它不会占用任何资源,只会节省几百千字节的硬盘空间。如果您启动更多服务,Ubuntu 的启动时间可能会受到影响,但它采用了一些技巧,例如优化关键启动组件的位置以最大限度地减少硬盘瓶颈。此外,一旦您启动了 Linux,您就可以启动了。无需等待更多托盘图标启动。
本质上问题在于注册表,因为它给 Windows 的许多方面引入了实时瓶颈。
答案4
我实际上认为病毒防护软件是 Windows 速度变慢的最大原因。在工作中我必须使用基于 Windows 的计算机。如果你禁用病毒软件一天,计算机的运行速度会显著加快,但这对我们来说不是一个选择。不久前,我们的网络出现了“感染”,一切都乱套了。影响 Linux 的恶意软件程序较少,但我读到过它们在 Android 世界中猖獗。