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

Mojave 醉人心弦的内存管理.

  •  
  •   nobidagu · 43 天前 · 2804 次点击
    这是一个创建于 43 天前的主题,其中的信息可能已经有所发展或是发生改变。

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



    最后
    ZWxN5Q.png


    BOOM!


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

    17 回复  |  直到 2019-07-18 22:19:59 +08:00
        1
    luckyrayyy   43 天前
    27G 是什么操作....的确经常看到内存还有不少剩余就开始用 swp 的操作,我也很费解这样有什么好处..

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



        14
    nobidagu   43 天前
    @di11wei 程序内存肯定是泄露了,只是 mac 这内存管理策略我也是瞧不懂了.
        15
    shn7798   43 天前   ♥ 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
        16
    nobidagu   37 天前
    @shn7798 是有一些效果的,swap 基本在 1G 不会动,但是内存使用率还是上不了 9G(我 16G 内存),而且一段时间使用后,机器会变得巨卡,不得已,还是换回去了.
        17
    shn7798   37 天前
    @nobidagu #16 可能我是 32G 的关系。。。不过你那个情况估计内存已经吃紧了吧
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2023 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 18ms · UTC 02:15 · PVG 10:15 · LAX 19:15 · JFK 22:15
    ♥ Do have faith in what you're doing.