我应不应该把 M1 MBA 退掉?
背景
我的主要需求是用作前端开发,比如 Nodejs,python 等,无游戏需求(我已经有 2060 的台式电脑,支撑我的游戏以及高性能处理的需求),为了尝试 Mac 系统,因此购入了 16+256 的 Air 。预计下周三能够收到货。
问题❓
最近 Apple 的 SSD 读写闹的沸沸扬扬的,我的 M1 下周就能到了,我是否应该现在退掉啊?
思考
背景
我的主要需求是用作前端开发,比如 Nodejs,python 等,无游戏需求(我已经有 2060 的台式电脑,支撑我的游戏以及高性能处理的需求),为了尝试 Mac 系统,因此购入了 16+256 的 Air 。预计下周三能够收到货。
问题❓
最近 Apple 的 SSD 读写闹的沸沸扬扬的,我的 M1 下周就能到了,我是否应该现在退掉啊?
思考
M1 应该是尽量把前台程序放内存,不在使用的程序尽量放 SWAP,从而让前台程序有更好的响应。
但前台程序和后台程序切换时,就需要大量读写 SWAP 了。
比如用一段时间 IDE 再切换使用浏览器时,就需要将浏览器占用的内存从 SWAP 中调出,并将 IDE 占用的内存写入 SWAP 。从 IDE 切回浏览器再反过来写入和调出 SWAP 。(page in/ page out)
多个占大内存的程序同时运行,并且频繁切换的话,SWAP 写入量就大量增加了。
比如如果 IDE 占用 3G,浏览器占用 4G 的话,正常使用能保持比较流畅,但如果大量用 SWAP 的极端情况的话,切过来再切回去,就得往 SSD 里写入 7G 的数据。
虚拟机占用的内存对 m1 来说应该更不好处理了,没法像宿主机里一样以进程为单位对 SWAP 的使用进行管理。
以前机械硬盘做 SWAP 会让速度慢很多,m1 的 NVME 硬盘速度较快,所以哪怕用 SWAP,也感觉不到明显的卡顿。
(以上更多的是猜测,叙述也可能不精确,但内部原理也没有公开的。)
Linux 这样的系统可以调整 swapness 参数,用来设置 SWAP 使用的激进程度。Window 也可以更改 SWAP 大小及所存的磁盘位置。