1995年,计算机科学家Niklaus Wirth在《Computer》杂志上发表了一篇题为"A Plea for Lean Software"的文章。他在文中提出了一个被后人称为"Wirth定律"的观察:软件变慢的速度比硬件变快的速度更快。三十年后,这个定律仍然精准地描述着每一个电脑用户的日常体验。
Wirth将这句格言归功于Martin Reiser,后者曾在Oberon系统用户手册的前言中写道:“人们希望硬件的进步能治愈所有软件弊病。然而,一个敏锐的观察者会发现,软件在体积和迟钝程度上都在超越硬件的发展。”
这不仅仅是软件开发者的"懒惰"——背后是一系列深刻的技术博弈和物理限制。
软件膨胀:摩尔定律的阴暗面
当Intel联合创始人Gordon Moore在1965年预测集成电路上的晶体管数量每两年翻一番时,他大概没想到这个规律会成为软件膨胀的借口。Wirth定律的另一种表述"Andy and Bill’s law"说得更加直白:“安迪给的,比尔都拿走了”——安迪·格鲁夫领导的Intel不断提升硬件性能,比尔·盖茨领导的Microsoft则用更庞大的软件将其消耗殆尽。
这种膨胀并非完全无意义。现代软件确实提供了更丰富的功能、更华丽的界面、更安全的架构。但问题在于,软件增长的边际效益递减。以Web浏览器为例,Chrome的一个标签页在2025年可能消耗500MB以上的内存,而十年前同等功能的网页可能只需要十分之一的资源。这其中有Web技术栈复杂化的合理成分,也有过度依赖抽象层、运行时环境和第三方库的不合理因素。
Stack Overflow在2023年的一篇博客文章中指出,现代Web和原生应用程序变得臃肿和缓慢的最大原因是:用户追踪、广告、营销漏斗和联盟链接。这些功能对用户价值有限,却消耗了大量计算资源。
后台进程的无声累积
每安装一个软件,你很可能同时安装了一个或多个后台服务。Windows任务管理器中的"后台进程"列表会随着时间不断增长:自动更新检查器、云同步客户端、硬件监控工具、快捷键管理器……它们各自占用少量CPU和内存,但累积起来却是可观的资源消耗。
更隐蔽的是启动项膨胀。每个软件都希望自己能"第一时间响应用户",于是争相将自己加入系统启动序列。一台使用了三年的Windows电脑,可能同时有几十个程序在后台等待启动,它们争抢磁盘I/O、CPU周期和内存空间,导致开机时间从最初的15秒延长到数分钟。
SSD的隐秘衰减:写入放大与垃圾回收
如果你的电脑使用固态硬盘(SSD),可能会注意到一个现象:刚买来时速度飞快,使用一两年后写入性能明显下降。这并非产品质量问题,而是NAND闪存的工作原理所决定的。
NAND闪存有几个关键特性:
- 写入前必须擦除:闪存单元不能直接覆盖写入,必须先擦除整个块(block),然后才能写入新数据。
- 擦除粒度远大于写入粒度:写入以页(page,通常4-16KB)为单位,擦除以块(block,通常包含数十到数百页)为单位。
- 有限的擦写寿命:每个闪存块只能承受有限次数的擦写循环(SLC约10万次,MLC约3000-5000次,TLC约1000次,QLC更低)。
这种不对称性导致了写入放大(Write Amplification) 现象:当你想要修改一个4KB的文件时,SSD控制器可能需要读取整个128KB的块,修改其中的4KB,然后写入到一个新的块中——实际写入量是逻辑写入量的32倍。

图片来源: Wikipedia
随着SSD使用时间增长,可用空间减少,垃圾回收(Garbage Collection)的压力增大。控制器需要在后台搬运有效数据、擦除无效块,这个过程消耗了大量的写入带宽,导致用户感受到的写入速度下降。
TRIM:操作系统的关键配合
TRIM命令是操作系统与SSD协作的关键机制。当用户删除一个文件时,操作系统不再只是简单地标记文件系统中的目录项为"已删除",而是通过TRIM命令通知SSD哪些逻辑地址上的数据已经无效。这让SSD可以在垃圾回收时跳过这些数据,减少无效搬运,从而降低写入放大。
如果TRIM功能被禁用或操作系统不支持,SSD会认为所有曾经写入的数据都是有效的,垃圾回收时不得不搬运大量"垃圾"数据,严重影响性能和寿命。Windows 7及以上版本、macOS 10.6.8及以上版本、Linux内核2.6.33及以上版本都原生支持TRIM。
机械硬盘的物理衰退
对于仍在使用机械硬盘(HDD)的系统,文件碎片化是性能下降的主要原因。当文件被分散存储在磁盘的不同位置时,读写磁头需要频繁移动来访问数据,增加了寻道时间。
虽然现代操作系统都有自动碎片整理功能,但碎片整理本身是一个资源消耗型操作,而且对于接近满载的磁盘效果有限。更重要的是,机械硬盘本身存在物理老化:轴承磨损、磁头定位精度下降、盘片表面氧化都会导致读写性能逐渐降低。
热节流:当你的CPU"自我保护"
电脑性能下降的另一个常被忽视的原因是散热系统失效。
CPU和GPU都有温度保护机制。当核心温度超过安全阈值(通常是90-105°C)时,处理器会自动降低运行频率以减少发热——这就是热节流(Thermal Throttling)。用户感知到的现象是:电脑在高负载时突然变慢,帧率骤降,响应延迟。
导致散热效率下降的最常见原因是灰尘堆积。一个使用了两三年的电脑,其散热器翅片和风扇叶片上可能积满了灰尘,严重影响气流通过。测试表明,严重的灰尘堆积可以使CPU温度上升20-30°C,直接触发热节流。
另一个容易被忽视的环节是导热硅脂老化。CPU和散热器之间涂布的导热硅脂会随时间干涸开裂,热阻增加。对于使用了三五年以上的电脑,重新涂抹导热硅脂往往能显著降低温度。
内存泄漏与页面交换
内存泄漏是软件层面导致性能下降的重要原因。当程序分配了内存却忘记释放时,可用内存会逐渐减少。对于长期运行的服务程序或浏览器标签页,即使是微小的泄漏也会累积成显著的问题。
当物理内存耗尽时,操作系统会将部分数据交换到磁盘上的页面文件(pagefile)。由于磁盘速度比内存慢几个数量级(即使是SSD,延迟也是内存的100倍以上),频繁的页面交换会导致系统明显卡顿——这种状态被称为"抖动"(thrashing)。
浏览器的内存管理是一个典型例子。打开几十个标签页后,即使每个标签只泄漏少量内存,累积效应也会导致系统频繁交换到磁盘。现代浏览器虽然实现了标签页休眠和内存压缩,但根本问题仍然存在。
硬件老化的科学真相
CPU会随时间变慢吗?这个问题需要从两个层面回答。
从功能层面,现代CPU有极高的设计冗余度,数字电路的特性决定了它们要么正常工作,要么完全失效。不存在"部分工作"的状态。因此,CPU本身不会因为老化而变慢——它要么全速运行,要么彻底坏掉。
但从可靠性层面,半导体器件确实存在退化机制。最主要的是电迁移(Electromigration):在高电流密度下,金属导线中的电子会"推动"金属原子移动,长期累积会导致导线变细甚至断裂。这种现象由Black方程描述:
$$MTTF = \frac{A}{J^n} \exp\left(\frac{E_a}{kT}\right)$$其中MTTF是平均失效时间,J是电流密度,T是温度,$E_a$是激活能,k是玻尔兹曼常数。这个方程表明,温度和电流密度是影响芯片寿命的关键因素。长期高温运行的CPU更容易发生电迁移导致的失效。
不过,对于正常使用的消费级CPU,设计寿命通常远超实际使用周期。电迁移导致性能下降的情况在普通用户中极为罕见,更多出现在超频爱好者和数据中心场景。
操作系统更新的双刃剑
操作系统更新是一个复杂的话题。一方面,安全补丁和性能优化确实能改善体验;另一方面,新功能和新架构往往针对更新的硬件设计,在旧硬件上可能表现不佳。
Windows的SuperFetch(现称SysMain)服务是一个典型案例。它会分析用户的使用模式,预加载常用程序到内存中以加快启动速度。但在配备机械硬盘的旧电脑上,SuperFetch可能导致磁盘100%占用,反而拖慢系统。同样,Windows搜索索引服务在后台扫描文件时也会消耗大量I/O资源。
根本原因:资源竞争
综合以上分析,电脑变慢的根本原因是资源竞争加剧:
- CPU:更多后台进程争抢计算周期
- 内存:更庞大的程序、更多标签页、内存泄漏
- 存储:碎片化、写入放大、可用空间减少
- 散热:灰尘堆积、硅脂老化导致降频保护
这些因素相互交织:内存不足导致频繁换页,换页增加了磁盘I/O,磁盘I/O又与后台进程争抢资源,CPU在高负载下发热增加,如果散热不良则触发降频……
这不是单一问题,而是系统性的熵增。
延缓衰退的工程原则
理解了变慢的原因,应对策略就清晰了:
软件层面:定期审查启动项和后台服务,卸载不必要的程序,使用轻量级替代品(如用Sumatra PDF替代Adobe Reader)。对于浏览器,定期关闭不用的标签页,检查扩展程序的资源占用。
硬件层面:定期清理灰尘(建议每半年一次),必要时重新涂抹导热硅脂。对于机械硬盘,保持至少15%的可用空间,定期运行碎片整理。对于SSD,确保TRIM功能开启,避免容量超过85%。
系统层面:保持操作系统更新但不必追求最新版本。对于老旧硬件,考虑使用轻量级系统(如Linux发行版中的Xfce或LXQt桌面环境)。
最终,电脑变慢是复杂系统演化的必然结果。我们无法完全阻止这个过程,但可以通过理解其机制,延缓衰退的速度,在必要时刻做出明智的升级决策。
参考资料
- Wirth, N. (1995). A Plea for Lean Software. Computer, 28(2), 64-68.
- Hu, X. Y., et al. (2009). Write Amplification Analysis in Flash-Based Solid State Drives. IBM Research.
- Reiser, M. (1991). The Oberon System User Guide and Programmer’s Manual. ACM Press.
- Black, J. R. (1969). Electromigration - A brief survey and some recent results. IEEE Transactions on Electron Devices.
- Intel Corporation. SSD Write Amplification Analysis and Mitigation. Technical Documentation.
- Kingston Technology. The Importance of Garbage Collection and TRIM Processes for SSD Performance.
- Stack Overflow Blog (2023). Is software getting worse?
- IEEE Spectrum (2011). Transistor Aging.
- TechSpot (2018). What’s Thermal Throttling and How to Prevent It.