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

MAC 的内存没用满也会出现交换吗

  •  
  •   xu33 · 4 天前 · 1046 次点击

    32G 的经常用到 27G 左右的时候就会有 1-2G 的已使用的交换,是什么原理

    5 条回复    2025-06-12 22:43:01 +08:00
    M48A1
        1
    M48A1  
       4 天前
    网上都是说看颜色;

    我最近发现我的需求 32GB 和 16GB ,都有缓存,没有 swap 。
    processzzp
        2
    processzzp  
       4 天前
    @M48A1 内存压力没红就行了。非要追究到底有没有出现 swap 的话,建议楼主去入职苹果公司开发 macOS ,我比苹果的工程师更懂 macOS 系列
    gesse
        3
    gesse  
       4 天前
    这个完全是算法的问题。

    比如有时候还会有些内容压缩在内存中,如果被激活,可能就需要更大的空间导致 swap ,然后其他的内容被压缩,导致内存显示剩余,又有 swap 情况,这种情况下,应该不会马上把 swap 移如空闲内存。

    在使用活跃的机器上,应该尤其明显。
    gesse
        4
    gesse  
       4 天前
    优化版:

    这个可能是算法实现问题。

    比如有时候有些内容因为不活跃,压缩保存在内存中,后期如果被激活并解压,就需要更大的内存空间,如果内存不足,就可能导致 swap 。后期如果其他的内容被压缩,这个时候物理内存就会显示剩余,而又有 swap 情况,并且 swap 应该不会被马上移入空闲内存。

    在使用活跃的机器上,这种情况应该尤其明显。
    agagega
        5
    agagega  
       3 天前 via iPhone
    你打开了软件 A ,用了 16G 内存。这时候打开了软件 B ,用了 4G 内存,又切回了软件 A 。系统觉得不够了,把 B 的一部分内存放 swap 里。

    这时你退出了软件 A ,但没有回到软件 B ,而是又打开了软件 C ,此时 B 的数据还是在 swap 里,因为你没有用到它。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5789 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 02:30 · PVG 10:30 · LAX 19:30 · JFK 22:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.