V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
adob51
V2EX  ›  Apple

m1 电脑硬盘写入量减小了

  •  1
     
  •   adob51 · 2022-09-19 10:38:51 +08:00 · 1475 次点击
    这是一个创建于 781 天前的主题,其中的信息可能已经有所发展或是发生改变。

    m1 系列电脑,由于功耗比较低,相比 intel 机器来说,可以说是非常低,因此设置 hibernatemode=0 ,睡前 81%的电量,早上打开电脑仍旧 81%的电量,smartctl 检测,硬盘写入新增 200 多 M 的写入,极大降低了硬盘写入量,可以很好的延长 SSD 寿命。

    没有设置的可以修改 hibernatemode=0 ,初始默认是 3 ,sleep 后,内存中的数据写入硬盘,同时内存还不断电,也就是 apple 所谓的 safe-mode. hibernatemode=0 ,则内存中的数据不写入硬盘,内存不断电,得益于 m1 芯片的低功耗,内存供电的情况下,耗电微乎其微。

    sudo pmset -a hibernatemode 0 在电池和电源供电的情况下,均修改为 0 ;

    或者只修改电源供电的情况为 0 ,sudo pmset -c hibernatemode 0

    或者只修改电池供电的情况为 0 ,sudo pmset -b hibernatemode 0

    自己结合自己的需要,随意设置。 我是设置了-a 情况下为 0.

    如果电脑持续几天或者持续长达几周甚至更久的休眠,不排除 mac 电脑后台因为某些活动唤醒而产生掉电,日积月累,电量逐渐降为 0 也是有可能的。

    8 条回复    2022-11-02 21:09:47 +08:00
    adob51
        1
    adob51  
    OP
       2022-09-19 13:23:06 +08:00
    smartctl 中读取的 Data Units Written ,记录的 SSD 读取 512 字节数据单元的次数,每 1000 个单元记录一次,因此这里的数据 1 就等于 512KB ,如果读取的是 4477747 ,那计算方式是 4477747*512KB/1000/1000/1000=2.29TB 。

    1 、先设置 hibernatemode=0
    2 、睡觉合盖 mac 前,smartctl 读取一下 Data Units Written ,记 A
    3 、合盖 mac ,sleep
    4 、早上开 mac ,smartctl 读取 Data Units Written ,记 B
    5 、( B-A)*512/1000=C(单位 MB),也就是睡眠一晚,硬盘 SSD 的写入量

    同理,默认的 hibernatemode=3 ,可以对比下计算出的 C 值,与 hibernatemode=0 时,是否相差很大?

    pmset -g custom 可以查看设置的 hibernatemode ,设置后最好重启一下电脑,再进行测试对比
    SpiritYa
        2
    SpiritYa  
       2022-09-19 13:37:06 +08:00
    感觉不错,手动收藏一下
    mycs999
        3
    mycs999  
       2022-09-19 14:06:44 +08:00
    @adob51 晚上回去测试下看看,按照楼主的说法,休眠了那不是 16G 的内存的,一下子 16G 都写硬盘去了?
    tanrenye
        4
    tanrenye  
       2022-09-19 14:16:06 +08:00
    完全没必要,就算一天多 16G 写入,一年不也才几个 T 吗,根本不伤大雅吧
    adob51
        5
    adob51  
    OP
       2022-09-19 14:21:34 +08:00
    @mycs999 你可以先测试下,不修改 hibernatemode 时,一晚睡眠后,硬盘的写入量是多少;然后修改 hibernatemode 后,再测试一晚休眠,对比硬盘写入量。
    adob51
        6
    adob51  
    OP
       2022-09-19 14:24:45 +08:00
    @tanrenye 有时候,离开电脑时间较长,触发休眠后,就会往硬盘写入数据;当然你说的这种情况适合白天人不离 mac 的情况, 这样就不会处罚休眠,只有晚上合盖休眠。
    clrss
        7
    clrss  
       2022-11-02 10:50:04 +08:00
    @adob51 这个是睡眠就写盘, 还是 standby 内存断电前才写盘?

    有个机制是 suspend to memory 超过一定时间后会断电.
    highstandbythreshold
    standbydelayhigh
    standbydelaylow
    adob51
        8
    adob51  
    OP
       2022-11-02 21:09:47 +08:00
    @clrss pmset -g custom 中只有 standby 了,highstandbythreshold ; standbydelayhigh ; standbydelaylow 目前没找到他们在哪里,估计是取消了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2767 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 01:59 · PVG 09:59 · LAX 17:59 · JFK 20:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.