把chrome缓存/数据文件夹搬到macbook的外置SD卡槽


前置声明

  1. 电子设备就是买回来用的,不建议像我这样把macbook当祖宗一样供起来
  2. 我也不知道这么做有什么用,本文仅仅是提供一个可行的方案,如果你在意macbook SSD读写寿命可以继续往下看
  3. 购置baseqi卡套+高速TF卡的成本不低(~65美元),而且读写速度有严重损失(见后面的测试),大部分时间也就只能跑个chrome
  4. 仅限chromium/firefox这些能修改cache/profile文件夹路径的程序,safari估计不行
  5. 最终效果还是不错的,所以我把chrome cache/profile文件夹搬到TF卡上面去了

背景

1:近几年的macbook pro又把SD卡槽做回来了,但是这个SDXC卡槽深度只有正常SD卡的一半左右:

2:v2ex关于这个SDXC卡槽的讨论:🔗 [一个关于新 MacBook SD 卡槽的想法 - V2EX] https://v2ex.com/t/809021

3:我是重度chrome用户,且比较在意macbook的SSD读写寿命

4:在我的macbook上实测,如果正常地使用一天chrome,仅chrome这个程序就会写入50~100GB(如果使用chrome重度看视频/流媒体恐怕还会写入更多),所以我希望把chrome的硬盘读写搬到macbook内置的SD卡上面去

第一步:修改chrome的cache dir和user profile dir

这一步其实和SD卡槽无关。你也可以使用相同的命令把chrome cache/profile文件夹放在ramdisk/外接SSD/外接USB存储...里面,不一定非要和SD卡较劲。但可能需要注意:如果存放chrome cache/profile文件夹的存储设备直接(物理)断开连接,chrome会直接闪退,你需要把存储设备再次挂载上去才能继续chrome之前的工作。

在此之前我尝试过使用symbolic Link来把chrome cache/profile的文件夹映射到其他路径,但都失败了(chrome根本就不吃这一套修改),搞不清楚为什么。

所以只能用命令行强行指定文件夹路径了。首先要确定我们搬迁的2个文件夹:

# 缓存文件夹
~/Library/Caches/Google/Chrome


# chorme profile文件夹
~/Library/Application Support/Google/Chrome

我们可以把这2个文件夹里面的内容复制到其他地方(比如复制到外接硬盘),然后用这个命令启动chrome,并要求chrome使用我们规定的cache/profile路径:

$  open -a "/Applications/Google Chrome.app" --args  --disk-cache-dir=/PATH/TO/SD_CARD/cache --user-data-dir=/PATH/TO/SD_CARD/profile

然后你会发现新启动的chrome会使用你规定的路径读写cache/profile. 如果操作正确并且把原本chrome文件复制到了正确的位置,用新命令启动的chrome是能无缝衔接你的所有设置/cookie/书签/历史记录...的,不需要重新设置任何东西。如果你发现你启动了一个空白的chrome并且一切都要重头再来,那可能是某个迁移的环节出了问题。

当然,现在这个迁移过的chrome无法通过原本的方式直接启动了(直接点击图标启动会读取默认路径的文件),只能通过这几个方法:

  1. 还是用命令行启动
  2. 制作另一个app来启动这个迁移后的chrome
  3. 直接修改chrome.app里面的内容

方法2和3见这个教程:🔗 [macos - How do I pass command line arguments to Dock items? - Super User] https://superuser.com/questions/271678/how-do-i-pass-command-line-arguments-to-dock-items

我选择的是方法2. 其实方法1和2基本没差别,因为大多数时候我的chrome会在启动macOS以后打开然后一直放在那里,直到下一次macOS系统重启。


Edge的修改逻辑、启动方式、启动参数和chrome完全相同。

Firefox不需要修改.app的启动参数,但需要访问 about:config 来修改profile的存储位置(Firefox的profile包含了常规数据和缓存文件,所以只需要设置这一个)。实际上 about:config 的设置内容会写在 ~/Library/Application Support/Firefox/profiles.ini 文件里,所以直接修改profiles.ini也可以。

如果你有多个Firefox profiles,可以在profiles.ini文件里面修改 StartWithLastProfile=0 ,这样Firefox每次启动的时候都会询问你要使用哪个profile.

第二步:购置SD卡套和TF卡

花了大量的时间来查找资料并决定我要买什么。总体来说:

  • SD卡套(baseqi 420A):应该是没有同类替代品。仅此一家。
  • TF卡:UHS-I和UHS-II都可以,基本上是个TF卡就能用(baseqi在amazon上的商品描述是“只支持UHS-II”,但其实并不是,它也支持UHS-1),所以我最终选择了UHS-I, A2 V30的samsung pro plus (256GB)

SD卡套我用的是baseqi 420A,这玩意好像淘宝也有官方旗舰店卖,amazon链接:🔗 [Amazon.com: BASEQI UHS-II Aluminum microSD Adapter for 2021 M1 MacBook Pro 14 & 16” (Space Gray) : Electronics] https://www.amazon.com/BASEQI-Aluminum-microSD-Adapter-MacBook/dp/B0B76FDJ9R/

效果(来自amazon评论区):

在我的macbook m3 16''上实测也能完全插进去且几乎没有凸出。

PS:关于SD卡,其实amazon上面还有一款,但它的凸出较多(有较为明显的1mm凸出),而且速度不太行,价格也不是很友好,所以我最后没选。


TF卡可选的就很多了。考虑到我迁移的是chrome文件夹(平均1GB大约有10000个文件),我们可能要着重4k读写性能。最终我选择的是samsung pro plus:

再次提醒:因为我只优先考虑用这张TF卡存放chrome文件夹,所以我一定会最优先考虑4k读写性能,其次才是容量/其他性能。

P.S. 在购买samsung pro plus之前,我找到了一张很多年前的32GB无标TF卡(俗称白卡),格式化成了APFS encrypted并存放chrome缓存/数据文件夹临时用了几天,速度非常糟糕,chrome在加载大量图片/高清视频/多个Tab的时候会感觉到明显卡顿。所以一张高质量的TF卡是有必要的,否则chrome体验会很差。

关于UHS-II:UHS-II型号的TF卡没找到什么大牌+相对便宜的,而且UHS-II的4k读写似乎并没有提升(我能在amazon找到的UHS-II,无论是SD卡还是TF卡,在4k读写这一块都不如samsung pro plus)

决定买什么型号的TF卡花了相当多的时间,下面是一些我在查找过程中搜集到的零碎资料:

注释:最终没选samsung pro ultimate 256GB的原因是没找到amazon.com官方的链接(估计是卖完了在补货),都是第三方店铺,所以改买了pro plus,反正两者的4k读写没区别。

型号容量(GB)amazon价格
Samsung Pro plus128$ 20.99
Samsung Pro plus256$ 29.99
Samsung Pro plus512$ 59.99
Samsung Pro ultimate256$ 34.99
Samsung Pro ultimate512$ 69.99
Samsung Pro ultimate128$ 24.99
Kingston Canvas go plus64$ 14.81
Kingston Canvas go plus128$ 16.95
Kingston Canvas go plus256$ 25.60
Samsung Evo select128$ 14.99
Samsung Evo select256$ 24.99
Samsung Evo select512$ 44.99
表格:4k读写性能比较优秀的A2 V30 TF卡候选者(sandisk, lexar这种4k性能一般的就没写了)

下面是网上随便找的主流TF卡读写性能测试结果(虽然来源混乱存在一定偏差,但网上评测TF卡普遍使用的是性能较高的TF读卡器而不是macbook SD卡槽,在4k读写这一块还是结果大致相同的):

基本来源:bilibili-小吴存储评测和amazon评论区

总体下来就这几个印象:

  • 4k读写:samsung pro plus(国内俗称三星蓝卡)最强,canvas go plus(国内俗称金士顿蓝条卡)也很强
  • 4k读写:sandisk extreme pro(国内俗称闪迪红黑)和Lexar不太行
  • samsung系列:pro ultimate(国内俗称三星深蓝卡)最强,但4k读写相比于pro plus没什么提升,evo plus以及evo select这种就不考虑了

所以最后选择了samsung pro plus也是考虑到它的4k读写性能在多个平台的测评结果中都是最强/接近最强。

第三步:实战结果

这里注意:由于各种原因,最终我的TF卡的实战性能是大幅度缩水的。具体原因有2点:

  1. 读卡方式
  2. APFS加密

TF卡的读卡方式其实很讲究,很多品牌都有自己专门的读卡器以达到最大速度。一般来说:

  1. 最快:品牌专有读卡器/昂贵的读卡器
  2. 其次:拓展坞的TF卡槽/廉价读卡器
  3. 最慢:macbook自带的这个SDXC卡槽

我购买的samsung pro plus(256GB),它在网上的评测速度普遍为:

来自amazon评论区

我也懒得测它在什么usb读卡器、拓展坞读卡器上的速度了,因为它最终一定会放在我的SDXC卡槽里,所以其他读取方式的速度再快也没有意义。

把它套进baseqi 420A,插入macbook的SDXC卡槽并格式化为APFS,顺序读写的性能直接就掉了一倍,4k read似乎没有影响,4k write也掉了足足一倍多

APFS(不加密)

(顺便:我认为这个掉速就是macbook SDXC卡槽导致的,这个插槽相比于那些专用读卡器就是更慢一些,和APFS格式以及baseqi 420A卡套关系不大)

由于我要存放的是chrome文件夹,所以APFS加密是肯定需要的,只是APFS加密后它的顺序读写速度会再次被砍一刀,好在4k读写不受什么影响:

APFS加密

(PS:我认为apple还是没有修好APFS加密带来的性能严重衰减问题:🔗 [hard drive - Slow write speeds with APFS encryped external SSD - Ask Different] https://apple.stackexchange.com/questions/336184/slow-write-speeds-with-apfs-encryped-external-ssd

所以这就是这张samsung pro plus的最终速度。只能说幸好当初买TF卡的时候就决定抛开容量性价比,只关注4k读写性能。一张性能几乎是最顶尖的TF卡,经过两层大砍,最终也表现不错,4k read几乎没受影响,4k write也只是降到了sandisk extreme pro的水平。

后续

使用体验

由于这张TF卡并没有怎么影响我的macbook使用体验,它不需要反复插拔,几乎察觉不到它的存在(差不多和macbook融为一体了),所以对我来说是值$65这个成本的。后期如果有需要还可以换成更大容量/更快的TF卡。

chrome的使用:没有遇到什么问题。得益于samsung pro plus强大的4k读写速度(即使被砍了2刀),chrome在使用过程中没有出现卡顿、无响应的情况。

顺便统计了一下chrome搬迁到TF卡以后的硬盘写入量(正常使用一天的macbook):

硬盘写入量(一天)
TF卡(来自chrome)> 50GB(如果用来看Netflix/Youtube/Twitch还会写入更多)
macbook SSD(来自除了chrome的其他程序)< 40GB(如果没有什么很离谱的硬盘IO操作)

也就是说chrome占了我至少一半的硬盘写入量,而现在我把这些硬盘写入量全部转嫁到了TF卡上。

TF卡剩余空间的其他用途

这张TF卡有256GB,chrome占了大概5~10GB,还有至少95%的空间是闲置的。

不建议用来存放重要资料,但可以考虑这类用途:

  1. OBS录屏输出文件夹
  2. 大规模下载临时文件(某些场景下需要下载几十个GB甚至更多的文件,但这些文件往往用过以后就删了)
  3. 临时用做某些数据的备份(比如在使用photoshop的时候定期备份PSD文件,方便回滚到之前的版本)
  4. 存放windows ARM虚拟机文件(见下面的说明)

有关windows ARM虚拟机的话题:

理论上TF卡的这点读写性能用来跑windows虚拟机会很吃力,但我试了几天 轻度使用windows 11 ARM ,体验还不错,没有遇到卡顿/无法响应的情况。至于 创建虚拟机文件的速度/开机速度/关机速度 这些我就没过高要求了,只要win虚拟机启动以后能正常流畅操作就行。


 Last Modified in 2024-12-13 

Leave a Comment Anonymous comment is allowed / 允许匿名评论