为什么Microsoft Windows的性能会随着时间而下降?


76

随着时间的流逝,Windows XP / 2003和更早的版本(无法证明Windows Vista,但是我怀疑是相同的)随着安装和卸载应用程序的出现都变得越来越迟钝。

这不是经过科学检验的观察结果,而是更多的从经验中学到的智慧。(我一直怀疑注册表是问题的根源。)

是否有任何具体证据表明这种退化正在发生,或者仅仅是对我的无效认识?


1
您的时间表是什么?我假设几个月,其他人则假设较短。

17
我对Vista的经验是,随着时间的推移,它实际上并没有放慢速度。我的安装时间为18个月,仍然和我初次安装时一样慢!
Orion Edwards

3
@MusiGenesis-这对所有人来说都是一个大问题,而不仅仅是开发人员。您正从一个湿滑的斜坡开始。与您所驾驶的汽车所涉及的编程问题相比,这与编程无关。它可以让您上班,但是仅此而已。
乔治·斯托克

2
应该将其移至superuser.com,因为它不仅与程序员有关。
Mnementh'4

1
我很想用一个词回答这个问题-Adobe(诸如Reader_sl.exe之类的东西)。

Answers:


67

我不知道这里的其他人是什么人,我还没有遇到一个不知道您在说什么的人。造成这种情况的原因很多,但尚未查明其中的一些原因。

对于那些不认识的人,我将从更好的描述开始。全新安装的Windows将在1分钟内启动。在6个月的时间内,计算机的启动时间不仅会变慢,而且整个操作系统的体验也无法与之媲美。如果您在使用1年后重新安装Windows,一定会发现有所不同。

速度下降的原因归因于注册表中的混乱情况以及磁盘碎片。您已经注意到卸载无济于事,部分原因是未从注册表中清除所有内容。广告软件可能是一个问题,但这通常不是原因。

您可以使用注册表清理程序,defreg并删除广告软件,但是即使这样也无法使系统恢复到原始速度,没有人对此提出合理的解释。

给其他人注意,对于正在使用的操作系统,这不是正常的行为,我使用Linux已经有4年了,虽然不是没有重新安装,但从未通过重新安装或升级来提高性能。大量安装/卸载程序导致速度下降。


1
我的另一个猜测是,这可能是由于Windows Update进程及其修补程序引起的。从我已经在只能上网并获得Windows Updates的计算机上看到此行为的观点出发,我对此完全是con测。
webjedi

4
只要您不再使用FAT32,碎片就不会成为速度问题。

1
@webjed,我确实知道从全新安装进行Windows更新不会产生此效果,但是如果渐进式更新会导致此问题,我不会感到惊讶。
he_the_great

2
为了使测试公平,您需要在新系统上安装所有软件和更新。Windows的基础,全新安装不会执行任何操作,但是执行速度非常快。一个有趣的测试是拥有注册表探针应用程序,并测试其性能变化。
福斯先生08年

2
注册表访问权限是O(n)其中n的树的深度的操作。具有大量混乱的庞大注册表不会导致性能问题。但是,有两个与注册表有关的事情会使事情变慢。首先是注册表配置单元文件的碎片。两者的第二个,也是更大的影响,是当某些操作发生时,应用程序将注册回调,加载项和要加载的模块。在注册表中有几百个冗余上下文菜单项确实会减慢速度。
多项式

5

不,不,有点烂!;)

严重的是,如果您根本不使用Windows,则Windows安装不会降低太多。但是您正在使用的计算机很可能会安装越来越多的软件,其中的许多软件会自动设置为在启动时在后台运行。实际上,随着越来越多的服务运行,所有计算机,无论使用什么操作系统,运行速度都将降低。Windows可能因允许程序将自己安装在“启动文件夹”或类似文件中而臭名昭著。

即使已安装许多程序,似乎也没有任何响应,这似乎已经失去了响应性。我不确定是什么原因造成的,但是随机猜测会是,每次显示菜单时都有更多的数据需要解析,从而主观地减慢了计算机的运行速度,而并未真正损害平均处理能力。


1
我只能部分同意。不使用计算机将使计算机保持相同的性能(无)。但是,这个问题并不普遍,我保持操作系统干净。这意味着安装和卸载许多应用程序,Windows是唯一在这方面有问题的应用程序。
he_the_great

8
这是一种“公地悲剧”问题。许多程序都设置了一个不断运行的代理程序,以缩短其自身的启动时间,而牺牲了系统的其余部分。
杰西·维格

“如果您根本不使用Windows安装,其安装性能不会降低很多” –我认为所有计算机都是如此。它们可以完美工作,直到人们开始使用它们为止。然后所有赌注都关闭了。
Paul D. Waite,2010年

4

不知道您要问的内容而没有更多细节。较旧的Windows版本存在一些问题,但是我发现XP和Vista相当稳定,以至于我可以将它们运行几个星期而无需重新启动,并且看不到任何问题。我确定某些软件组合可能会引起问题,但是Windows本身(至少在最新版本中)似乎不会降低性能。


1
他正在谈论旧Windows安装与新安装的性能。与新启动相比,Windows不能运行一周。
James McMahon

没有软垫的窗户本身有什么好处?
Trufa

4

另一方面,即使是全新安装也无法使旧计算机如新计算机那样快。因为我们期望越来越多。十年前,您使用了更简单的应用程序,而CPU和RAM却更少了,今天甚至您的文字处理器都在使用硬件加速的3D效果...

我相信,这是导致计算机运行速度变慢(通常无法衡量)的第一大原因。(当然,在Windows系统上,在重新安装之前和之后可能会有可测量的差异。Windows是一个复杂的系统,在后台执行很多操作,并且某些进程在完成自我清理后可能做得不够好。Windows 受到批评在过去的许多年中,有效而又不浪费资源并不是其中之一); P


1
情况并非如此,如果重新安装,可能不会感觉很快,但是与重新安装之前相比,您将获得性能上的提高。
he_the_great

当然是!我想说的是,也有一种心理上的解释:市场上最快的计算机感觉很快,几年后,由于不再是最快的计算机(不管实际性能如何),同一台计算机的感觉也更慢...
Stein G 。Strindhaug

4

我从2002年开始运行Windows XP,除了启动时间外,我无法确认我经常听到的性能下降声明。

由于各种原因(重新分区并且不想使用分区管理器等),我每2-3年重新安装Windows。全新安装后,Windows快速启动,并且感觉敏捷。但是,安装完所需的所有程序后,启动时间会大大延长,但是无论我是一天还是一年使用同一安装,“ snappiness”都不会改变。

几年前,我读了一家德国计算机杂志的测试,他们比较了运行不同注册表清理程序前后的Windows性能,发现实际上没有区别。我认为经历过的性能下降是由于随着时间的流逝安装了更多的程序,尤其是在后台运行的程序。但是,我不认为Windows本身会降低性能。


4

首次安装时,Windows将磁盘控制器配置为使用可用的最快DMA模式。如果遇到足够的错误,则降低访问模式。如果一切运行顺利,则没有机制可以尝试使用更快的模式。随着时间的流逝,该模式将逐渐下降,直到所有磁盘访问均处于PIO模式并且计算机似乎完全损坏为止。

删除控制器设备会强制窗口使用可用的最快模式重新配置设备。完全重新安装会导致这种情况发生。

我纯粹是猜测,但是当您认为人们抱怨具有GB额外RAM的计算机上的bitrot时,这比注册表膨胀更有意义。

(当然,额外的服务和其他后台进程会导致启动时间变慢,但是,在不影响其他功能的情况下降低软件性能的想法几乎是不可能的)


1
听起来您可能遇到了真正的硬件问题。我已经有一段时间没有看到这种行为了。
GregC

1
+1-PIO模式是硬件问题的迹象,但无论如何,它的确会导致不可思议的速度下降。此外,这些错误可能会在很长一段时间内累积,这可能并不表示重大的硬件问题,但可能只是轻微的故障,或者您在笔记本电脑的使用寿命中多次颠簸。
Ricket 2010年

3

我怀疑对于许多人来说,这是广告软件的积累。不过,我还没有做过科学研究。


1
当然,这将是大量的资源消耗,但不能解决所有问题。这种很主观的感觉,就是计算机无缘无故地变慢,这早在广告软件普及之前就已经很久了。
Stein G. Strindhaug

好答案!每当我得到的“我的电脑很慢,你可以解决它”,从家人或朋友打电话,我发现它感染了广告软件,桌面小工具,木马等

3

这将有助于您更具体地了解这种情况(结果变慢多少,您对计算机执行的操作等等)?

我希望它随着增长而变慢:大多数数据结构都以这种方式工作。

确保磁盘已整理碎片。

如果您安装了很多软件,通常会得到很多注册表项。根据软件的不同,卸载时可能无法消除其混乱情况。

检查广告软件,病毒等。

与ahockley一样,我发现XP和Vista(带有最新的Service Pack)非常稳定-至少与我管理的Linux PC一样稳定。


如果您由于内核更新以外的任何其他原因而必须重启Linux PC,则说明您做错了什么

在这两种情况下,通常都是“内核”更新强制重启。现在,我考虑了一下,Windows会更频繁地使用它们。在linux上,有时用户会将机器锁定到ssh失败的地步。对我来说,在这种情况下重新启动通常更容易。
福斯先生08年

3

您已要求提供具体证据,证明运行各种版本的MS-Windows OS的计算机会随着时间的推移变得更加缓慢。我也观察到了这一点。有多种原因可以说明为什么会这样。

  1. 注册表混乱
  2. 要求更高的软件
  3. 更多应用程序已加载到内存中并正在运行
  4. 恶意软件
  5. 硬盘碎片

这是获取所需证据的简单程序。

  1. 使用秒表,可以对特定机器上的各种操作进行计时,尤其是您认为已经减慢的操作。
  2. 重新格式化硬盘,然后重新安装足够的软件以完成以下步骤。
  3. 使用与以前相同的设备,执行相同的时序实验

这将为您提供除原因2以外的所有内容的具体答案,因为许多软件现在会自动使用最新副本进行更新。


3

应用程序和DLL(也称为DLL hell)中的错误。MS试图修复这些错误,但不能这样做,因为它会破坏太多的应用程序。因此,他们使用新功能创建了DLL的新版本-> DLL变得更大,需要更多的RAM,需要更长的时间才能动态链接,等等。

如果您真的不走运,那么旧代码要求将原始DLL的副本放在某个位置,因此MS甚至必须给固定的DLL重新命名。这样,越来越多的错误会阻塞您的内存,PC交换更多->速度很慢。其他程序在DLL地狱中放弃了,并将它们自己的DLL版本保存在其安装目录中。现在,您必须在RAM中保留同一DLL的多个副本。

然后,我们在后台进行了很多工作。病毒扫描程序每天都会变慢,因为它们需要检查更多的签名。垃圾堆积在tmp目录中,迫使驱动器磁头移动更大的距离。扫描目录需要更长的时间。


3

Microsoft对其软件进行了各种修补程序和更新,这些修补程序和更新可能会在这里发挥作用,并且随着时间的推移硬件也会发生变化。

例如XP XP的原始要求列出了128 MB的RAM建议,我怀疑有人会尝试在这么低的内存上运行XP。

我当前的计算机上至少有2 GB的内存,这是该数量的16倍,并且通常我不会在RAM少于512 MB的计算机上运行XP,这是因为与O / S一样会消耗掉多少内存它在启动时所做的一切。


3

随着时间的流逝,几乎每个Windows应用程序都以一种或另一种方式使用的Windows注册表会变得非常very肿。在安装和卸载许多应用程序时尤其如此。卸载后,应用程序通常不清理其注册表项。

那里有一些尝试清除注册表的应用程序,您可以使用regedit手动进行,但要谨慎行事-销毁应用程序的注册表会经常破坏应用程序和操作系统。尽管这只是寻求性能提升的领域,但硬件也很容易成为罪魁祸首。


注册表不会影响启动速度。启动项目和服务。
Apache

2

我父亲仍然使用他的IBM All in an XT,运行DOS 5.0,WordPerfect 5.1和Quicken 6.0来管理他的业务费用。今天的运行速度与6年前的速度完全相同,当时我刚开始安装它。

当然,这避免了其他答案中描述的许多可能的陷阱,无需安装新软件,无需注册表,无需额外的启动应用程序。

您可能几乎认为这是一个控制案例。


1
这不是窗户!
OlaEldøy,2009年

2

其他人给出了具体细节,但我认为从根本上讲,这是热力学第二定律的一个例子。

在一个系统中,发生的过程将倾向于增加宇宙的总熵。

如果您不采取任何措施来加快Windows的速度,那么随着时间的推移,它总是会变得更加混乱(因此速度会更慢)。


1
您无法击败热力学

1
这是无稽之谈。
JKAbrams 2014年

只有在混乱与绩效之间没有联系时。我会说通常有。
amdfan 2014年

2

在我经常使用的所有机器上,从我第一次使用它们的那一天起,就没有发现任何性能下降的情况。某些应用程序速度稍慢一些,但这通常是因为新版本具有一些新功能。总体而言,差异不大。

但是,我在办公室抱怨的机器往往在后台运行着大量的“服务”和其他应用程序。我的机器不是高规格,但运行速度很快,因为我确保我没有庞大的进程列表。平均而言,我运行了少于50个进程。尽管我有要求,办公室里的那些说“我的机器很慢”的人还是安装了这个程序,很快他们就运行了约100个进程(包括多个防病毒软件,Yahoo / Google工具栏等)。即使他们确实卸载了东西,他们安装的垃圾软件也会使服务失效或运行小的EXE。

如果您遇到速度慢的问题,我想是时候开始“开始”>“运行”>“ msconfig”并剔除在启动时正在启动的垃圾。


2

SSD可以大大缓解性能不佳的问题。

我依靠WinDirStat来查找大型和被遗忘的文件,文件太多的目录以及目录太多的目录。顺便说一下,这就是我发现有关WebsiteCache的方式。

我使用CCleaner来改善注册表占用空间。

我使用ProcessExplorer查找泄漏的应用程序。

我使用TcpView来检查TCP / IP连接。

我使用自动运行来检查启动应用程序和服务。

我真的希望我有一天能找到一种清理WinSxS文件夹的方法(它代表成功,还是我在想的)。

使用这些工具,可以很好地在3或4年前最初安装的Windows XP上运行。


1

运行内存泄漏的软件将导致此情况,因为可用于缓存的内存较少。对于普通家庭用户而言,如果从这种角度来看,间谍软件/垃圾软件也经常成为一个问题。


1

您确定不是硬件性能下降吗?

取得一些良好的基准,重新安装系统,就像您第一次获得它时一样,然后再次进行测量。我很想知道是否应该部分归咎于硬盘或其他组件。


1

除了广告软件外,其他应用程序开发人员还希望在Windows启动时让其应用程序加载引导程序,以减少加载应用程序所需的感知时间,或者希望后台服务处理下载更新等。常见示例:Microsoft Office,Google Updater ,Adobe Acrobat。

为了进行比较,请尝试打开msconfig并禁用所有启动项和服务,然后重新启动。


自动运行对此很有好处。
GregC

1

这不仅与注册表有关。安装应用程序时,有时会安装一些不必要的垃圾,即使这些程序未使用,它们也会在启动时在后台运行。卸载应用程序时,它们是否总是正确卸载,还是将应用程序和文件的某些部分留在后面,还是使Windows仍在尝试查找,运行或使用现在缺少的各种部件,或者是否删除了其他程序也依赖的部件?经常安装和卸载应用程序,最终Windows本身开始变得不稳定,需要全新安装。


1

它主要与磁盘碎片以及随着安装其他软件而增加的服务和后台进程数量有关。

Vista非常巧妙地解决了磁盘碎片问题:非常巧妙,以至于Vista机器的速度实际上随着时间的推移而增加。另一方面,安装大量服务会像XP一样拖累Vista。

Windows 7还具有Vista功能,可防止操作系统由于碎片而随着时间的推移而变慢。

请注意,在这种情况下,“碎片化”不仅是指单个文件被碎片化,而且还指的是同时未一起装载在磁盘上的文件集合。


1

问题是Windows没有软件存储库,Linux的所有软件都是由某些命令的安装软件(如apt-get等)组织的,而在Windows领域,每个人都是自己的,则可以在任何地方,任何地点安装谁看着每个人都是注册表。

问题不在于Windows本身,而在于应用程序如何使用注册表。在Linux中,程序的每个文件都有一个位置,并且依赖项是手动或由某些主控制软件处理的。在Windows中,创建应用程序的人还必须制作一个卸载程序。好吧,您通常不希望用户卸载软件,如果用户这样做,则通常不关心用户的情况。


1

我同意Windows减慢对于任何Windows系统都是不容置疑的事实(尽管我使用Windows Vista或Windows 7的频率不高,所以我无法发表评论)。

除了注册表碎片/损坏和硬盘碎片/损坏(值得chkdsk时不时地使用F参数运行)之外,我认为安装会增加自身启动能力的应用程序,但更多的是因为服务是导致速度下降的重要原因。他们在启动时会花费一些时间,并在常规运行期间会占用资源。一个人可能不会有所作为,但随着时间的推移它们的建立会有所作为。值得一看的是在计算机上运行的服务列表,如果不使用它们,请更改它们的启动选项。但是,请确保您确实调查了他们首先做什么。

本身启动本身也是一项非常耗费资源的任务。值得不时使用Microsoft提供的免费应用程序BootVis对启动进行碎片整理。这将在启动过程中对您的计算机进行配置并重新排序(碎片整理)在启动时需要加载的任何东西,以便使其更快地加载,例如驱动程序。

随着时间的推移,浏览器还可以加载加载项和工具栏,这也会减慢您对系统的了解。我认为值得不时卸载未使用的加载项。

最好的结果确实来自全新安装。读到其他操作系统不会遇到此问题非常有趣。

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.