主题 : 科普:SSD 为何会损耗
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605074
威望: 530126 点
无痕币: 19 WHB
贡献值: 0 点
在线时间: 62875(时)
注册时间: 2008-12-25
最后登录: 2024-06-02

0 科普:SSD 为何会损耗

M1 处理器版的 MacBook 惊艳了很多人的眼球,有如此强劲的性能的同时,还可以实现超长续航,让很多人惊呼这就是轻薄本的终极形态。然而,最近 M1 版 MacBook 却引发了一些争议,有用户发现在使用一段时间后,SSD 的写入数据量非常巨大。要知道,SSD 中 NAND 的写入次数是有限的,M1 版 MacBook 这还算是新机,就产生了如此写入量,为什么会这样?到底要不要紧?这就来简单谈谈。

SSD 损耗无可避免:操作系统的 Swap 机制
根据反馈,出现巨大写入量的 SSD,并不是经常挂机下载这样的任务引起的。在日常使用中,SSD 就已经会出现此类情况。实际上,很多操作系统都会造成这样的状况,只不过可能没有 M1 版 MacBook 那么夸张。SSD 的损耗在日常使用无可避免,其实这是 SSD 充当了内存 Swap 引起的。

▲macOS 中的 Swap
什么是 Swap?这是一个在桌面操作系统中常见的系统机制,我们可以大致理解为硬盘充当了内存的作用。在桌面的使用环境下,PC、Mac 等设备需要拥有实时运行多个大型软件的能力,这就需要内存足以存储这么多个大型软件的进程容量。然而物理内存是有限的,为此操作系统就需要调用硬盘空间,充当内存的作用。

▲Swap 机制的简单示意图
在 macOS 系统中,当软件开始运行,进程即会被读取到物理内存当中。随着运行的软件越来越多,操作系统会意识到内存不够用,首先采取的措施是对内存中的数据进行压缩,这会消耗一定的 CPU 资源;当进入内存的数据变得更多后,操作系统就会考虑舍弃一部分内存中的数据,这时候在内存中没有被修改过的数据首先被抛弃,释放出部分内存空间——例如你打开一个软件,从未操作过,随着内存逐渐被占满,这个软件在内存的一些数据可能实际上已经被清除掉,当你重新开始操作该软件的时候,会重新从硬盘读取所需数据。在这种情况下,操作系统并不会对 SSD 写入大量数据。
然而,当内存中的数据被修改过,产生了 “脏页”,情况就不一样了。当内存逐渐被占满时,操作系统并不能直接将 “脏页”从内存中清理出去,毕竟这往往记录着软件的工作进程。这时候,macOS 会将这部分 “脏页”暂存到 SSD 中,这就产生了写入 SSD 的数据。
为此,macOS 还建立了一个专门的 VM 分区,来存放这些内存数据,当物理内存越紧张、用户开启软件越多、软件需求的内存容量越大的时候,VM 分区的 I/O 就会更加频繁,写入的数据也就更多。在这样的 Swap 操作之下,就算没有进行下载、传输数据之类的操作,也会有大量的数据写入 SSD。

▲macOS 中的 VM 分区
幸福是什么?就是收集秋无痕的作品
级别: 六行秋雁
UID: 56297
精华: 0
发帖: 1994
威望: 18680 点
无痕币: 1426 WHB
贡献值: 0 点
在线时间: 386(时)
注册时间: 2008-10-01
最后登录: 2024-05-31

了解一下
你阴小湿大,我就以茎置洞!
Total 0.039756(s) query 5, Time now is:06-02 17:51, Gzip enabled 粤ICP备07514325号-1
Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛