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

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

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

    从内存 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   ·   我们的愿景   ·   实用小工具   ·   1350 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:31 · PVG 01:31 · LAX 10:31 · JFK 13:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.