随着时间的推移,Windows会逐渐变慢,为什么Ubuntu却没有呢?


15

我和其他许多以前的Windows用户注意到,随着时间的流逝,计算机似乎越来越慢。我买了一个蛙式搅拌器,只是发现它的安装过程在那里等待着我,将其插入,以便它可以运行该软件。一周七天,每天七十四分钟,它占用了CPU的3%!这是我离开Windows的主要原因之一。但是,Ubuntu似乎并没有随着时间的推移而放慢速度。Ubuntu是否允许程序安装后台程序,就像跳蛙式的坐le一样,吞噬资源?有人可以解释一下为什么Windows趋于随着时间的推移变得越来越慢,而Ubuntu也容易受到这种影响吗?感谢您的帮助,这让我感到困惑。


4
Windows从来没有在我的PC上“变慢”,我每周都会清理注册表和进行磁盘碎片整理。此外,我禁用了所有具有启动功能的软件。
Uri Herrera

3
Windows需要维护,ubuntu也需要维护,但并不像Windows那样夸张。
Uri Herrera

2
是的,但是除非有人通过清理注册表,删除不需要的软件并清理旧文件等来使Windows变得更趋于正常,否则Windows的运行速度将会降低。还必须注意恶意或无意安装的有害应用程序。大多数计算机极客都不介意将所有内容保持整洁,但更典型的用户不会花时间和精力这样做。
凯利

1
对于普通用户,Windows随着时间的推移会变慢。
威廉

1
张贴在这里,对任何有兴趣的人:ubuntuforums.org/showthread.php?t=1889072
William

Answers:


22

我认为最重要的原因是Windows上的大多数程序都依赖于注册表。注册表可以说是一个组织良好的存储,但是还不知道它是一个非常有效的存储。首次安装Windows时,注册表很小,查找操作也不昂贵;但是,随着您安装越来越多的程序,注册表变得越来越大,越来越难以管理。

另一个因素是磁盘碎片。NTFS和FAT因无法防止碎片而臭名昭著。另一方面,Linux文件系统,尤其是ext3(我在reiserFS或其他替代产品上没有任何经验)可以很好地抵抗碎片。

片段化入门

什么是碎片? 本文对它做了很好的解释,但要点是:Windows将所有文件都聚集在磁盘上的一个位置,而Linux则将它们分散到整个位置。这意味着,当文件在Windows上增长时,它可能会变得很大,以至于与下一个文件的硬盘分配重叠,因此必须移动或(更可能是)碎片化,并将新碎片存储在文件中。硬盘上的其他位置。下次访问该文件时,Windows实际上必须创建两个磁盘访问,一个访问初始文件,另一个访问新创建的片段。另一方面,当文件在Linux中增长时,它所提供的空间可能远远超过了足够的空间,并且OS会愉快地进行。Linux的方法在机械硬盘上确实有一个小的缺点,就是说,由于文件散布在各处,因此通过一系列“聚集”的文件访问它们的时间稍有延迟。该e4rat项目工程相当不错消除或减少一些延迟(EXT4文件系统只),以及发现的开销从不差那么从什么文件碎片的Windows体验。

另一个因素是Windows的一个小技巧:Windows安装永远不会启动。Windows启动了许多工序您可以登录。对于Windows,系统进程和用户进程之间的区别有点模糊,尤其是对于XP之前的旧版本。许多Windows应用程序非常渴望启动后台进程并放置任务栏图标。随着时间的推移,Windows安装会在启动时开始启动越来越多的进程。但是,Linux严格在您登录之前启动所有系统进程。登录后,仅启动最少数量的进程。Linux也从不鼓励使用与特定用户的特定任务相关的后台服务或使用托盘图标。Gnome的最新版本拒绝所有应用程序放置任务栏图标,但白名单非常狭窄。因此,随着时间的流逝,Linux安装仍会在启动后仅启动有限数量的进程。

我敢肯定还有其他许多因素导致了这种现象,这些是我想到的主要因素。


2
“最新版本的Gnome拒绝所有应用程序放置任务栏图标...”-只是意味着未显示任务栏图标。该过程仍在消耗资源。
内森·奥斯曼

对于Linux来说有点令人失望。我认为他们会以某种方式巧妙地阻止该过程的执行。但是再三考虑,也许根本不可能。至少这会阻止创建多余的托盘图标。
infiniteRefactor

1
“托盘指示器”已被未列入白名单的AppIndicators取代,可以由任何应用程序创建。
内森·奥斯曼

我应该指出,Ubuntu在引导过程的早期也已经移动了登录屏幕。另外,如果您已经使用了一段时间,那么很多事情都可以在计算机启动时运行。Ubuntu无疑会减慢速度,但不会减慢Windows的速度。
Scott Severance

5

我实际上曾向一位Microsoft员工提出过此建议,该员工正在就触摸屏技术以及Microsoft计划如何使用它进行特别演讲,而她所能给我的最佳回应是“ Windows的速度下降是由于操作系统引起的”。碎片化,我们仍在大量研究这种情况的发生原因以及解决方法。”

我以某种方式认为差异可能是由于Ubuntu处理程序包管理和配置的方式与Windows方法的差异,尽管我无法进一步解释。如果我们无法访问Windows的源代码来解释其行为方式,我们可能永远无法完全知道。

而且,每隔6个月发布一个新的Ubuntu版本,如果您每次都安装一个新副本,则两个发布之间可能没有足够的时间注意到任何潜在的速度下降。或者也可能是由于Ubuntu的膨胀更少,因此出错的事情更少了。


Ubuntu通过ext4文件系统修复了此问题。
威廉

1
您的意思是Linux *通过btrs文件系统解决了此问题。
Uri Herrera

是的,但是你知道我的意思。不要仅仅为了纠正他们而纠正他们。
威廉

@威廉等等,您确定那您的意思吗?我不知道任何“ btrs”文件系统;我认为Uri Herrera的意思是说btrfs。btrfs与ext4有很大的不同,并且与通常使用的不一样。
伊利亚·卡根

2

Windows变得越来越慢,因为每个应用程序都附带一个安装程序,该安装程序控制得不好。例如,编写安装脚本的人真的不在乎删除程序后会留下什么,因为一旦删除程序,您就不再是客户。一个更悲观的人会说他们这样做是为了让您更频繁地升级,可能不是100%错误。

注册表也是一个很大的问题,希望SSD可以使此问题变得更好,但这是故障和瓶颈的集中点。每次系统需要硬件信息时,它都会进入注册表,每次启动应用程序时,它都需要从注册表中获取信息。首次安装该注册表时,应按Microsoft期望的那样保留注册表。但是,由于任何安装都几乎完全不受注册表的约束,并且没有消除无用条目的机制,因此整个过程变得非常拥挤。

尽管大多数应用程序都使用自己的.conf文件,但某些人共享的gnome配置文件除外,Ubuntu当然也容易受到速度下降的影响。但是,.deb的结构方式意味着可以使用正确的命令删除硬盘驱动器上的所有内容。甚至即使您不发出“ apt-get remove --purge ...”来删除配置文件,您在用户目录中也只剩下一个文本文件,它不会占用任何资源,节省了一些百兆硬盘空间。如果您启动更多服务,Ubuntu上的启动时间可能会受到影响,但是它采用了一些技巧,例如优化关键启动组件的位置以最大程度地减少硬盘瓶颈。另外,一旦您使用Linux,就可以了。无需等待更多的托盘图标启动。

本质上,问题在于注册表,因为它在Windows的许多方面引入了非常实时的瓶颈。


1

我认为这个问题的前提可能难以确定,因为它们是不同的操作系统,并且安装软件的模型非常不同,因此很难进行一个苹果对一个苹果的比较。

我认为没有人会说Windows 总是变慢而Ubuntu却没有变慢。

以下是可能会导致性能随时间下降的某些情况。

  • 磁盘碎片,文件系统效率和TRIM

    注意:我认为碎片并不能真正起到促进作用,我只是在谈论它,因为很多人可能会认为它起作用。

    使用磁盘时,会随机写入,调整大小和删除文件,从而在驱动器上留下随机的间隙。文件系统需要有效地找到每个写入的新文件的空间。一旦文件系统变得更加零碎并且可用空间更少,这将变得越来越困难。在传统的硬盘驱动器上,这与磁盘上文件的物理位置有关,但是在SSD上,驱动器固件已对其进行了抽象处理,因此,它与驱动器的组合写入和跟踪空闲块的算法有关。

    在传统的HDD上,较晚的文件系统实现(例如ext4)在跟踪可用空间和处理大多数已满的驱动器方面可能仅比早期的NTFS稍好一些,但请记住,NTFS本身正在改善,而后来的操作系统(如Windows 7) ,8等改进了分配空间的算法,即使它们使用的磁盘NTFS格式基本相同。

    在SSD上,它归结为对TRIM的操作系统支持,这是OS提示驱动器固件的一种方式,可以将这些块保留为空白空间,从而大大降低了驱动器填充时变慢的趋势。

    总体而言,这些影响很小,现代Windows版本与Ubuntu使用的文件系统之间并没有太大区别。

  • 垃圾软件,在启动时运行的软件等

    Windows有一个更大的“垃圾软件”问题-即您不希望安装的软件,无论是欺骗性的还是烦人的,都与其他软件捆绑在一起。使用Ubuntu,通常会获得针对 Ubuntu 专门打包的全部或大部分软件因此没有任何商业理由捆绑“广告软件”并防止“间谍软件”或其他恶意软件。

    在Windows上,您可以从多种来源获得软件,其中许多是出于商业原因捆绑广告软件(弹出广告,更改浏览器首页,添加浏览器工具栏,添加浏览器扩展程序等的软件)以及一些恶意软件捆绑间谍软件。

    随着时间的流逝,这可能会在Windows上产生更多的现实效果,但要小心安装和获得软件,可以避免这种情况。

  • 编码不良的软件,低效的软件

    所有的Ubuntu软件(指Ubuntu存储库中的软件)都必须在某个阶段获得Ubuntu或Debian的批准,并且其源代码对所有人开放,为人们提供一定程度的透明度和能力。看到任何重大缺陷或愚蠢的编码。从理论上讲,这应该导致软件具有一定程度的可靠性和行为。

    另一方面,尽管Microsoft Windows本身及其捆绑的软件可以很好地运行,但是从第三方为Windows编写的软件在质量和效率上差别很大,并且没有机构批准或监督其生产。

    因此,用于Windows的第三方软件可能会低效地使用内存,即使它可能不需要,它也可能在Windows启动时启动,并且通常运行不佳。另一方面,某些出色的软件将非常苗条,快速且高效。当您在Windows上安装更多软件时,随着时间的流逝,随着好坏软件的混合使用,您的系统将逐渐感到负担,特别是对于在启动时自行加载的软件(这不是Windows帮助站点,但如果您要使Windows正常运行,请使用优秀的“自动运行”工具(可免费下载)。


-4

我实际上认为病毒防护软件是Windows速度下降的最大原因。在工作中,我必须使用基于Windows的计算机。如果您禁用病毒软件一天,则计算机的运行速度将大大加快,但这不是我们的替代选择。不久前,我们在网络上出现了“大批出没”,情况变得一团糟。影响Linux的恶意软件程序很少,尽管我读过它们在Android世界中非常猖ramp。


1
我要反驳。我在Windows系统上运行Kaspersky Internet Security,与Norton相比,它的运行速度非常快。是的,病毒防护确实会降低计算机的速度,但是其容量要比Windows注册表的失修和文件系统碎片少得多。
托马斯·沃德

猖??,当应用程序向上帝索要权限时,它知道什么,但用户仍然可以轻按,安装,并说用户值得拥有恶意软件,因此找出这一点并不难……
Uri Herrera
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.