【PConline杂谈】搭载M1处理器的MacBook让很多人大吃一惊。这么强的性能,还能实现长续航,这让很多人惊呼这是轻薄本的终极形态。不过最近M1 MacBook引起了一些争议,有用户发现SSD在使用一段时间后写入的数据量巨大。要知道,SSD中NAND的写入次数是有限的,而M1 MacBook还是一台新机,产生了这么大的写入量。这是为什么?真的重要吗?我们简单说一下。
M1 MacBook存在固态硬盘写入过多的问题?
SSD损耗无可避免:操作系统的Swap机制
根据反馈,所写的海量SSD并不是频繁挂机下载的任务造成的。在日常使用中,固态硬盘已经有这种情况。其实很多操作系统都会造成这样的情况,但可能没有M1 MacBook那么夸张。固态硬盘的丢失在日常使用中是不可避免的,实际上是固态硬盘充当内存交换造成的。
在macOS中交换
什么是交换?这是桌面操作系统中常见的系统机制。我们可以大致理解为硬盘充当内存。在桌面环境下,PC、Mac等设备需要具备实时运行多个大规模软件的能力,这就需要足够的内存来存储这么多大规模软件的处理能力。但是物理内存有限,所以操作系统需要调用硬盘空间来充当内存。
开发者_如何学JAVA交换机制的简单示意图
在macOS系统中,当软件开始运行时,进程将被读入物理内存。随着运行软件越来越多,操作系统会意识到内存不够用。第一种措施是压缩内存中的数据,会消耗一定的CPU资源;当更多数据进入内存时,操作系统会考虑丢弃内存中的部分数据。此时,内存中未修改的数据将首先被丢弃,释放部分内存空间——。例如,如果您打开一个软件,但从未操作过它,那么随着内存逐渐填满,软件内存中的一些数据实际上可能会被擦除。当您重新启动软件的操作时,您将再次从硬盘读取所需的数据。在这种情况下,操作系统不会将大量数据写入固态硬盘。
但是,当内存中的数据被修改,导致“脏页”时,情况就不同了。当内存逐渐被填满时,操作系统无法直接从内存中清理“脏页”。毕竟这经常记录软件的工作过程。此时,macOS会将这个“脏页”临时存储在SSD中,SSD会生成写入SSD的数据。
因此,macOS也建立了一个特殊的VM分区来存储这些内存数据。当物理内存紧张时,用户打开的软件越多,软件需要的内存容量越大,虚拟机分区的I/O就会越频繁,写入的数据也会越多。在这样的Swap操作下,即使没有下载和传输数据等操作,也会有大量数据写入SSD。
macOS中的虚拟机分区
实际上,Swap机制不仅存在于macOS中,也存在于Windows、Android等系统中。在Windows中,我们可以在高级系统设置中找到“虚拟内存”,即硬盘为内存脏页提供存储空间;在安卓系统中,也有zRAM和Swap的机制,压缩内存并写入NAND。
Win10中的虚拟内存设置
但iOS没有Swap机制,可能与墓碑机制不需要占用太多RAM,以及苹果将iOS设备定位为非重度生产力工具等因素有关。
M1版MacBook为何SSD写入数据尤其多?
Swap是一种非常常见的系统机制,Windows、Android等操作系统都有类似的设计。不过根据用户反馈,M1 MacBook的SSD写了很多数据。为什么呢?以下是一些分析。
和长期不关机的用户习惯有关。,的Mac电脑,其中之一是M1 MacBook,强调“打开盖子使用它”。很多用户养成了长时间不关机的习惯,不使用电脑的时候只能闭着盖子睡觉。操作系统尚未重新启动。长期持续使用后,内存中的脏页会越来越多,写入SSD的数据也会越来越多。此外,macOS的休眠模式会将RAM数据写入硬盘,长期使用休眠待机也会增加SSD的写入量。
MacBook强调“打开即用”,长时间不关机,Swap更频繁,休眠会增加SSD的写入量
和软件生态有关。,的软件越新,占用的内存就越多。这是一个不争的大势,业内称之为“安迪-比尔定律”。M1 MacBook在硬件上进行了创新,并发布了许多新版本的软件。新版本的软件带来了更多的内存容量需求,这使得操作系统更容易触发Swap。同时,一些X86老软件在M1 MacBook上运行,需要Rosetta 2翻译代码,会占用更多的存储空间。安装和使用这样的旧软件也可能会加剧对SSD的写操作。
与M1 MacBook兼容的X86软件需要进行Rosetta 2翻译,这会占用额外的硬盘容量,并将更多数据写入SSD
和RAM容量过小有关。m1 MacBook只提供8G和16G RAM容量,而大部分用户选择8G RAM版本。物理内存越小,越容易触发交换。一些用户报告称,配备8G内存版本的M1 MacBook确实比16G版本产生了更多的固态硬盘写入数据。
或许和M1芯片架构有关
。M1芯片使用了片上系统的设计,RAM和CPU核心集成到了一起,这有助于提高I/O效率,但也有可能加快Swap的速度。但这只是一种可能,苹果没有公开太多M1芯片在这方面的细节,无法推定。·或许和Spotlight有关。Spotlight是macOS中的全局搜索机制,它会检索硬盘中的所有数据。部分用户反馈,新版macOS的Spotlight很有可能额外对SSD写入了大量数据,目前某些beta版的macOS已经停用了Spotlight的文件检索。不过Spotlight是否是真正的原因,还有待苹果官方证实。
Spotlight可能是导致SSD写入增加的原因,但这点有待证实
M1版MacBook真的有硬伤吗?
在多种因素作用下,部分用户的M1版MacBook产生了较多的SSD写入量。例如有用户反馈,使用仅仅60天,就产生了高达261TB的SSD写入量,以1000次P/E计算,则已经消耗了一块256G SSD 10%的寿命。那么M1版MacBook如此巨大的SSD写入量,真的算是缺陷吗?笔者认为需要辩证看待。
用户反馈,M1版MacBook使用仅仅60天,就产生了高达261TB的SSD写入量
·从历史来看,如果只是正常使用,SSD的损坏基本是由于硬件缺陷或者固件问题导致,SSD很少因为写入次数耗尽,而寿终正寝。很多SSD的实际寿命都高于官方标称,外媒Hardware.info曾经进行过测试,即使是TLC闪存的SSD,寿命也远超预期。SSD一般存在冗余容量,这部分容量用户不可见,可以有效延长SSD的生命周期。
·SSD很多写入行为产生于早期,例如X86软件进行Rosetta转码导致SSD写入额外数据,这样的情况只会发生一次。随着使用时间,SSD的损耗速度应该会有所回落。
如果你实在担心,可以选择购买更大RAM和SSD容量的MacBook使用。更大的RAM意味着更多数据读写发生在物理内存中,平时会触发更少的Swap;而更大的SSD容量意味着写入同样的数据量,SSD的损耗更少。当然,这样的设备价格也会更高。
至于这到底算不算硬伤,由于目前该现象尚未引发故障,因此很难说这属于设计缺陷。不过,该现象很值得大家保持关注,尤其是Spotlight的表现,大家可以暂时停用Spotlight,观察是否SSD写入数据有所减少。
总结
总的来说,M1版MacBook大量SSD写入,是由Swap机制引起的,而M1版MacBook本身的软硬件特性,让该现象尤为突出,引发了用户的注意。虽然这目前没有引发故障,但也值得重视,用户的担心是有道理的。希望苹果能尽快能出面解释,或者改进系统机制,给用户一个好交代吧。
精彩评论