电子设备卡顿是永恒的话题,人们普遍感觉到跟着时间推移,自己的设备好像年纪大了一样慢慢的变「呆滞」。
导致这样的一种情况有很多原因,有人认为是设备老化了,有人认为是厂商故意降低设备速度。
01
—
硬件老化
硬件老化简单理解就是指,硬件随着不断使用出现不可逆转的轻微损坏,从而导致性能降低。
但是就凭我们普通消费者的使用程度,真的会导致硬件出现如此明显的老化吗?
已 CPU 为例:
图为 CPU 衰老曲线
蓝色为「早期失效期」,CPU 早期失效率很高,根本原因是制造和原材料的缺陷,所以CPU出厂前会特地通电高负荷运作度过这段「早期失效期」,避免用户使用时感到明显的性能下降,通过「早期失效期」的CPU才会进入市场,否则会被直接淘汰。
红色为「随机失效期」,能够准确的看出它在整个CPU 生命周期都很稳定,造成「随机失效」的原因也是因为制造、材料和使用环境等不可避免的因素。
绿线为「耗损失效期」,也就是大家通常理解的「使用老化」,前期都非常低,但是随着使用时间增加,错误率会显著提高。
结合上面三条线,紫色为「综合失效率」,是一个浴缸的形状,我们大多数人使用 CPU 都是在浴缸底部这段非常平稳的状态,最近一段时间有 7 年左右。
而即便 CPU 进入「耗损失效期」,所谓「失效」并不代表 CPU 性能会降低,CPU 的运算速度是不会改变的,耗损只会影响 CPU 的运算出错率,大部分错误都会被检测并修正,当出现无法修正的错误,系统会报错甚至死机。
但不管怎么样,CPU 的性能不会因为「老化」而降低。
正是因为硬件非常可靠的寿命,硬件的保修期才会那么长(CPU 都是 3 年质保,只换不修)。
02
—
垃圾太多
这里说的垃圾并不单指缓存等多于数据,还包括垃圾信息,垃圾程序等等,当垃圾太多硬件需要处理的信息也越多,同一时间的运算量超过硬件极限就会出现卡顿现象。
所以很多人重启或重装后会感觉十分流畅,但是用一段时间垃圾多了还是会卡顿。
03
—
软件升级
这才是设备卡顿的根本原因!
硬件厂商在努力减轻硬件的重量,但系统和软件的体积却慢慢的变大。
Windows 系统从最初的几十 MB 到现在几个 GB ,体积提升了近 100 倍,但是系统、软件升级带来的功能和体验真的有提升 100 倍吗?Vista 相比 XP 多提供了 20% 的功能,但是它的安装镜像却几乎翻了两番,CPU 使用也翻一番。
英特尔前 CEO 安迪·格鲁夫 曾说过:“Andy gives, Bill takes away.” 意思是安迪提供什么,比尔拿走什么。
这里的安迪指他自己,比尔则是当时的微软 CEO 比尔·盖茨。这句话也就是「安迪-比尔定律」。
其想表达的真正意思是说:硬件不断升级提高的性能很快就会被软件消耗殆尽,根本就不存在「性能过剩」。
「安迪-比尔定律」之所以成立,还在于微软与英特尔之间利益上的暗合,并因此形成了所谓的 Wintel 联盟(Windows + Intel)。
微软为了维护它在操作系统市场的垄断地位,不断在操作系统软体中增添新功能,造成系统软体越来越臃肿。
操作系统的不断升级,反过来提高了对硬体平台的需求。
举实例来说,2006 年上半年,因为 Vista 迟迟不能面市,从英特尔到惠普、戴尔等整机厂商,再到 Marvell 和 Seagate 等外设厂商,全部销售都受到很大的影响,因为用户没有更新电脑的需求。
这些公司的股票不同程度地下跌了 20% 到 40%。终于,千呼万唤始出来的 Vista 上市了,萧条了一年多的英特尔在才扭转了颓势,惠普、戴尔也同时得到好处。
另外,Wintel 联盟在手机上的体现就是 Quadroid 联盟(高通 + 安卓)。
随着硬件越来越强悍,软件能够实现更多可能,新的软件自然为新的硬件设计,旧的硬件运行新的软件就感觉力不从心了。
04
—
厂商故意降速
厂商故意降速也是一个老生常谈的话题,特别是2017年「苹果降速门」事件彻底石锤了这个猜想。
不过小淙估计经过苹果的示范,现在应该没有厂商还敢这样做了吧?
本文部分内容参考《Reliability and availabilitybasics》