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

macmini m2 16G/256G 版本, 开个几天内存就满掉了?

  •  
  •   chopin1998519 · 7 天前 · 2980 次点击
    如图:
    https://imgur.com/a/HTwVfFF

    https://imgur.com/9gp4JLc


    就跑了个微信、企业微信, 偶尔开开 message,safari,还有一个我自己写的 swift 程序。

    不知道为什么连续用个十来天,内存就会满到需要使用 swap 的程度?而且就算我全部关掉也没有释放。


    “wired 内存”查了一下,似乎应该就是强制在物理内存中的,类似 linux 的内核空间和 cache 。不知道理解的对不对。


    另外如果一个程序 "compressed 内存" 占用过多,又代表什么?


    我是 linux 过来的,理解内存的各种 buffer/cacahe 。但是 macos 的这个是不是哪里有问题?
    谢谢指教
    41 条回复    2024-06-21 10:45:03 +08:00
    chopin1998519
        1
    chopin1998519  
    OP
       7 天前
    chopin1998519
        2
    chopin1998519  
    OP
       7 天前



    zhangshine
        3
    zhangshine  
       7 天前
    可能有内存泄漏
    wu67
        4
    wu67  
       7 天前
    可能有内存泄露.
    还有就是企业微信自带那个 node 恶心死了, 好像根本不会回收的, 他那个工作台里面的应用一大堆都是网页套壳, 还是低版本的 vue 写的, 甚至可能有 nuxt...
    而 nuxt 项目本身也有各种各样的小毛病, 例如我公司项目遇到的就是放久了会突然疯狂占用 cpu...
    wweerrgtc
        5
    wweerrgtc  
       7 天前
    我用了"关闭所有 app"快捷指令, 每天用完电脑点一下
    bojackhorseman
        6
    bojackhorseman  
       7 天前
    同感。开机硬盘还剩 30G ,一会就剩几 G 了。
    234ygg
        7
    234ygg  
       7 天前
    wired 都已经 13.8GB 了,显然有泄漏
    chopin1998519
        8
    chopin1998519  
    OP
       7 天前
    真就很奇怪, 我还有一个非常老的只有 4G 内存的 macbook pro ,运行同样的程序, 也是一直开着, 虽然也满了, 但是 swap 只有一点点。

    对于 16G 的机器, 我想关闭 swap 分区, 是不是一定得关闭 SIP 才行。。
    chopin1998519
        9
    chopin1998519  
    OP
       7 天前
    @234ygg #7 但是当我强制关闭了全部程序(Cmd+Q), 还是这样
    cencoroll
        10
    cencoroll  
       7 天前
    我的 macbook air 16g 内存,一旦开机时间久了,看视频会特别卡,不管那个软件看都一样,只能重启,看内存 swap 也看不出啥问题
    forschers
        11
    forschers  
       7 天前
    同配置,我暂时没碰到过
    234ygg
        12
    234ygg  
       7 天前
    @chopin1998519 #9
    不是哪个 app 泄漏关哪个就有用的,app 会导致内核资源也泄漏。
    wired 基本上可以理解为是被系统占死的内存,维持内核和关键系统组件的基本运行,一般也就是 2GB 上下。13.8GB 显然是有什么 app 导致内核严重泄漏了。
    fovecifer
        13
    fovecifer  
       7 天前
    有泄漏
    我用 m2 mini 当 NAS 用,内存很稳定
    jjxtrotter
        14
    jjxtrotter  
       7 天前 via iPhone
    @234ygg 这个时候一般只有重启才能释放吧?
    bzw875
        15
    bzw875  
       7 天前
    @fovecifer #13 财力雄厚啊
    crabor
        16
    crabor  
       7 天前 via iPhone
    @fovecifer 有推荐的 macmini 做 nas 教程以及硬盘推荐不?之前有看过单纯开 smb 协议,但是不在家的话就比较麻烦访问了
    smallboy19991231
        17
    smallboy19991231  
       7 天前 via iPhone
    你交换分区都没多少。我的 8G 内存刚才在浏览器开了 10 个 YouTube 。全都搞到 SWAP 了。内存压力才黄色。说明你的内存还有很大的潜力。除非你用的软件都需要每时每刻的内存使用,而不是像网页这种可以在后台缓存的。
    那么你的 16G 内存就是不够用的,否则内存压力不到红 OR 交换分区占用不大,OR 没有同时开启高内存持续使用大内存的软件。那你的内存就是够用的。
    12914hh
        18
    12914hh  
       7 天前
    @smallboy19991231 大佬想问问 我现在用的 m3pro 18g 在 iStatistica 监测下,内存压力一般在 40%左右,但是为什么 一直提示我的 free 不足 100mb (观察下来 free 基本没超过 1g ) 开着 vs code 跑项目+Chrome 浏览器 20 个标签左右(有视频播放)+控制台+qq+微信+sourcetree 。
    这正常吗?
    yuanbz666
        19
    yuanbz666  
       7 天前
    @12914hh #18 正常,mac 的内存机制是这样的,为了运行速度优先占满内存,内存压力到 60% 80%时,swap 的内存已经比较多了
    smallboy19991231
        20
    smallboy19991231  
       7 天前
    @12914hh 你說的 free 不足的提示我沒遇到過,不過壓力沒到紅色和 SWSP 內存不要太多基本就不會卡了
    12914hh
        21
    12914hh  
       7 天前
    @yuanbz666 一直报 free 不足, 我又不太懂在 iStatistica 里面内存的 other 是什么,和 free 什么关系。在设置里面有一个 free 报警的开关。
    wired 2.38gb
    used 4.13gb
    cache 4.28gb
    free 91mb
    other 7,12gb 。
    @smallboy19991231 我可以理解为长期在黄色内存压力下,只要没有红色就没事么? swap 多少算多呢?
    dilidilid
        22
    dilidilid  
       7 天前
    @12914hh 长期黄就是不太够用了。。。只是可能没到卡顿的程度,当然要是能接受不太流畅的体验黄了也无所谓
    yuanbz666
        23
    yuanbz666  
       7 天前
    @12914hh #21 长期黄或红说明内存满足不了你,换机吧
    iOCZS
        24
    iOCZS  
       7 天前
    小朋友,你只是小小 16G 而已,不要那么自信
    smallboy19991231
        25
    smallboy19991231  
       7 天前 via iPhone
    @12914hh 我开了很多个浏览器页面。所以都缓存了。因为主内存不够用。一般来说不影响你使用 SWAP 多大都没事。
    12914hh
        26
    12914hh  
       7 天前
    @dilidilid @yuanbz666 @smallboy19991231 就不不卡,但是黄绿交替,编译啥的会黄一会,或者切换窗口这种调用内存的时候。 所以有点纠结。因为看内存压力 和 cpu 这些都没过 50 。 风扇一天下来也就下午 5 点左右 转了一会。证明我来上过班。。。
    kkwa56188
        27
    kkwa56188  
       7 天前
    关闭 app 没用的, 写的不好 甚至是故意为之的 第三方, 有一百种办法让你的电脑运行不顺畅
    smallboy19991231
        28
    smallboy19991231  
       7 天前
    @12914hh 不用糾結了別看數據了對自己最好,在乎體驗就行,卡了就關掉一些沒有用的軟件
    12914hh
        29
    12914hh  
       7 天前
    @smallboy19991231 是这个道理,但是又担心日后后悔,考虑要不要上 32g 。甚至觉得可以买 m1pro 哈哈
    dilidilid
        30
    dilidilid  
       7 天前
    @12914hh 我就是从 16G 的 M1 Pro 换成了 64G 的 M1 Max ,换完确实神清气爽,再也没考虑过内存问题,反正按照我的使用习惯(基本不本地开大项目,主要远程,但会开大量的文档和浏览器页面) 16G 内存开机久了就小卡(黄色压力但是能用),64G 之后不管开多久都很顺滑
    fovecifer
        31
    fovecifer  
       6 天前
    @crabor 不需要教程,用自己常用的工具就好
    fovecifer
        32
    fovecifer  
       6 天前
    @bzw875 不到 3000 的价格其实不贵了
    shigeyxs
        33
    shigeyxs  
       6 天前
    仅供参考,网上搜索到的修改 mac 内存策略,感谢网络大佬分享。
    1.1 禁用 Swap
    先使用 sysctl -a vm.compressor_mode 来检查现在的内存模式,默认的数字应该是 4 。
    1 代表不压缩内存且不启用 swap 。
    2 代表压缩内存但不启用 swap 。 [可以试着用这个]
    3 代表不压缩内存但启动 swap 。
    4 代表着压缩内存并启用 swap 。 [默认是这个]
    输入 sudo nvram boot-args="vm_compressor=2" 即可将内存管理模式更改为压缩内存但不启用 swap

    重启, 检查 swap 是否已关闭.。sysctl -a vm.compressor_mode

    个人实践操作:sudo nvram boot-args="vm_compressor=2" [是在 recovery 模式里终端内使用的。]
    smallboy19991231
        34
    smallboy19991231  
       6 天前
    @12914hh 我 8G 都夠用了,現在用著很爽
    wyd011011daniel
        35
    wyd011011daniel  
       6 天前
    @crabor 司波图 或者 黑猫的野望
    maemolee
        36
    maemolee  
       5 天前
    @fovecifer #32 请问硬盘咋解决的,直接用自带的 ssd 当存储是不是有点小了。
    maemolee
        37
    maemolee  
       5 天前
    @shigeyxs 实践了一下,终端提示:Error setting variable - 'boot-args': (iokit/common) not permitted.
    请问你有遇到吗?如何解决?
    maemolee
        38
    maemolee  
       5 天前
    @shigeyxs 看到你的说明了,recovery 模式的终端,我稍后再试试。
    chopin1998519
        39
    chopin1998519  
    OP
       5 天前
    @maemolee #37 这个操作需要修改 SIP
    maemolee
        40
    maemolee  
       5 天前
    @chopin1998519 #39 谢谢说明
    fovecifer
        41
    fovecifer  
       5 天前   ❤️ 1
    @maemolee 外接硬盘盒还有 DAS
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1228 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 23:19 · PVG 07:19 · LAX 16:19 · JFK 19:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.