Mac 的内存管理机制是怎样?怎么选内存? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hucheng518
V2EX    Apple

Mac 的内存管理机制是怎样?怎么选内存?

  •  
  •   hucheng518 2022-08-03 22:37:57 +08:00 6458 次点击
    这是一个创建于 1215 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从内存 8G 的 M1 过渡到 24G 的 M2 ,在活动监视器里看到一个有趣的现象: 之前 8G 的时候,普通应用占用内存在 6-7G 左右,剩下大约 20%左右的空余。 现在换成了 24G 的内存,干同样的事情,占用内存升到了 12-13G 。 难道这内存使用也是和机器本身的内存大小相关的吗?或者 8G 的 M1 是把内存从存储 swap 过来了? 日常使用状态下,无论是从存储借还是直接从内存读取,两者的速度没有感觉太大区别。

    15 条回复    2022-08-06 06:58:19 +08:00
    Awes0me
        1
    Awes0me  
       2022-08-03 23:23:51 +08:00   1
    看颜色别看数字,只要不是经常变黄就证明你不需要更大的内存
    Pierson
        2
    Pierson  
       2022-08-03 23:55:47 +08:00
    据我的观察,内存在 80 之前很少清除。只要我不开虚拟机,每次去看内存占用都是 80 ,不多不少。
    blackcatxh
        3
    blackcatxh  
       2022-08-04 01:02:16 +08:00   1
    你只需要看一个东西:内存压力的颜色

    绿色=充足
    黄色=吃紧
    红色=不足
    aireason
        4
    aireason  
       2022-08-04 08:51:19 +08:00
    如果你内存空间比较大,那么 cpu 就很少会压缩内存里的数据,内存压力也不会变黄,性能不会因为内存不足受到影响。你当时用 8g 的 m1 时,由于内存不够用,cpu 需要分出更多性能去管理内存。

    现在 monterey 上用 swap 的机制比较保守了,内存压力很大的时候才会去 swapping ,保护硬盘,但是比较耗 cpu 性能。
    wanguorui123
        5
    wanguorui123  
       2022-08-04 09:04:40 +08:00
    Mac 的内存优化的好,但是某些程序会内存泄露,导致 8G ,16G ,32G 都不够用
    wanguorui123
        6
    wanguorui123  
       2022-08-04 09:05:14 +08:00
    @wanguorui123 大型项目建议上 64G
    muntoya
        7
    muntoya  
       2022-08-04 09:51:22 +08:00 via iPhone
    注意观察交换和压缩,物理内存不够都会放这里。压缩的部分读到前台延迟很小,如果软件本身消耗内存不大切换时感觉不到。
    LeeeSe
        8
    LeeeSe  
       2022-08-04 09:59:26 +08:00   1
    @wanguorui123 实际上我发现经常是 mac 自带的应用内存泄漏比较严重
    wanguorui123
        9
    wanguorui123  
       2022-08-04 10:18:15 +08:00
    @LeeeSe 我也发觉,尤其是 Safair ,WindowManager ,苹果现在简直摆烂
    ratel2018
        10
    ratel2018  
       2022-08-04 11:16:27 +08:00
    内存数据写入 swap 也会使内存压力降低
    234ygg
        11
    234ygg  
       2022-08-04 15:17:15 +08:00
    绿色无忧
    黄色 swap 到 14GB 也没什么区别,网页 swap 回来慢半秒的样子
    红色 加钱升级

    pro 的话交换回收快,16 和 32 几乎没有任何性能区别,16 的甚至因为 swap 掉的多,内存压力有时候更低。
    air 的话,不把 air 当 air 用的情况下 16 和 24 有一点差异
    其实苹果基本上每年都有提到 又优化了回收,没什么人注意罢了
    8N3FgRqfNPzGJThQ
        12
    8N3FgRqfNPzGJThQ  
       2022-08-05 07:01:07 +08:00
    @234ygg 虚拟机从来不关 16G 够用吗?
    234ygg
        13
    234ygg  
       2022-08-05 14:33:36 +08:00
    @8N3FgRqfNPzGJThQ
    #12
    只能说虚拟机确实是为数不多上 32 的理由,Mac 端可用内存掉到 8GB 的话还是会有相当大性能衰减的
    8N3FgRqfNPzGJThQ
        14
    8N3FgRqfNPzGJThQ  
       2022-08-06 06:55:57 +08:00
    @234ygg 3Q 奈斯
    8N3FgRqfNPzGJThQ
        15
    8N3FgRqfNPzGJThQ  
       2022-08-06 06:58:19 +08:00
    @8N3FgRqfNPzGJThQ 8 核和 10 核 CPU 差别大不大呢 比如经常解压缩文件
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3207 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 11:31 PVG 19:31 LAX 03:31 JFK 06:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86