Mojave 醉人心弦的内存管理. - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nobidagu
V2EX    MacBook Pro

Mojave 醉人心弦的内存管理.

  •  
  •   nobidagu 2019-07-12 16:04:05 +08:00 5696 次点击
    这是一个创建于 2287 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可用内存还有很多,但是就是开始使用 swap 虚拟内存了. ZWxAu6.md.png
    然后一点一点一点加 ZWxFjx.md.png



    最后
    ZWxN5Q.png


    BOOM!


    我.............

    18 条回复    2019-09-28 20:35:40 +08:00
    luckyrayyy
        1
    luckyrayyy  
       2019-07-12 16:51:44 +08:00
    27G 是什么操作....的确经常看到内存还有不少剩余就开始用 swp 的操作,我也很费解这样有什么好处..

    但是 27G 是真的没见过
    tyhunter
        2
    tyhunter  
       2019-07-12 17:02:39 +08:00
    你这是有程序内存溢出了吧,打开活动监视器看看
    wgh666
        3
    wgh666  
       2019-07-12 17:14:02 +08:00
    我被网易 mumu 搞过一次,报警才知道,90 多 G 的硬盘空间差点就写完了
    yulgang
        4
    yulgang  
       2019-07-12 17:28:48 +08:00
    Remote Desktop Manager 出现过一次
    longbow23a
        5
    longbow23a  
       2019-07-12 18:22:46 +08:00
    @wgh666 同被 mumu 搞过,心疼 SSD
    nobidagu
        6
    nobidagu  
    OP
       2019-07-12 18:34:05 +08:00
    @tyhunter 应该是,我这边看到是 jetbrains rider 给吃的,软件关掉了也没释放掉,只能重启.
    MrUser
        7
    MrUser  
       2019-07-12 18:41:17 +08:00
    这是 top 吗?
    nobidagu
        8
    nobidagu  
    OP
       2019-07-12 18:56:00 +08:00
    @luckyrayyy 就因为这个我还特意关掉了 swap,但是更加麻烦的是,管理 swap 后,经常在内存只用了 6-7G 的情况下弹出内存不足,要关闭应用程序窗口,如果不管,过一阵子,有些软件就会自动崩掉,所以我不得已又打开了 swap,然后出现了上面那一幕.
    nobidagu
        9
    nobidagu  
    OP
       2019-07-12 18:56:28 +08:00
    @MrUser htop
    di11wei
        10
    di11wei  
       2019-07-12 18:58:41 +08:00
    我觉得是有程序的问题吧。有时候内存足够也会用交换文件。但是什么原理真的不知道
    nobidagu
        11
    nobidagu  
    OP
       2019-07-12 18:59:47 +08:00
    我记得 10.13 以下的版本不会有这样的问题,那时候内存经常用到 13 个 G 以上,也没有 swap,现在这系统不知道 Apple 工程师又做了什么鬼操作在里头.
    lscho
        12
    lscho  
       2019-07-12 19:13:18 +08:00 via Android
    @wgh666 同被 mumu 坑过,磁盘写满了
    also24
        13
    also24  
       2019-07-12 19:19:43 +08:00
    经常遇到类似情况



    nobidagu
        14
    nobidagu  
    OP
       2019-07-12 21:09:54 +08:00
    @di11wei 程序内存肯定是泄露了,只是 mac 这内存管理策略我也是瞧不懂了.
    shn7798
        15
    shn7798  
       2019-07-13 00:08:49 +08:00   2
    可以切换内存管理模式。
    经本人测试当 vm_compressor=2 的时候,系统不到万不得已是不会产生 swap 的
    设置命令(需要关闭 csrutil,或者 Recovery 模式操作):
    sudo nvram boot-args="vm_compressor=2"


    这个是 vm_pageout.h 中模式的定义:


    ```#define VM_PAGER_DEFAULT 0x1 /* Use default pager. */
    #define VM_PAGER_COMPRESSOR_NO_SWAP 0x2 /* In-core compressor only. */
    #define VM_PAGER_COMPRESSOR_WITH_SWAP 0x4 /* In-core compressor + swap backend. */
    #define VM_PAGER_FREEZER_DEFAULT 0x8 /* Freezer backed by default pager.*/
    #define VM_PAGER_FREEZER_COMPRESSOR_NO_SWAP 0x10 /* Freezer backed by in-core compressor only i.e. frozen data remain in-core compressed.*/
    #define VM_PAGER_FREEZER_COMPRESSOR_WITH_SWAP 0x20 /* Freezer backed by in-core compressor with swap support too.*/
    ```


    参考链接: https://apple.stackexchange.com/questions/118839/vm-compressor-mode-vm-compressor-mode-values-for-enabled-compressed-memory-in/138671
    nobidagu
        16
    nobidagu  
    OP
       2019-07-18 11:23:06 +08:00
    @shn7798 是有一些效果的,swap 基本在 1G 不会动,但是内存使用率还是上不了 9G(我 16G 内存),而且一段时间使用后,机器会变得巨卡,不得已,还是换回去了.
    shn7798
        17
    shn7798  
       2019-07-18 22:19:59 +08:00
    @nobidagu #16 可能我是 32G 的关系。。。不过你那个情况估计内存已经吃紧了吧
    ispinfx
        18
    ispinfx  
       2019-09-28 20:35:40 +08:00
    32G 表示经常上不到 20G !
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3154 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 11:18 PVG 19:18 LAX 04:18 JFK 07:18
    Do have faith in what you're doing.
    ubao 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