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

MacOS 的虚拟内存有什么作用吗?内存够大,为什么还会使用?

  •  
  •   yuhuan66666 · 2019-11-03 19:33:41 +08:00 · 11415 次点击
    这是一个创建于 1607 天前的主题,其中的信息可能已经有所发展或是发生改变。

    iStat 显示 内存挺充足的 开了很多网页 内存用了 47% 但是虚拟内存 占了将近 4 个 G

    有 v 友能告诉为啥么? MacOS 有什么设定吗?

    有必要关闭掉虚拟内存吗?

    第 1 条附言  ·  2019-11-03 20:26:56 +08:00
    忘说了 现在的内存 32G
    30 条回复    2023-02-15 09:09:31 +08:00
    di11wei
        1
    di11wei  
       2019-11-03 19:41:45 +08:00
    1.物理内存有多大呢?我觉得应该还是不够吧。
    2.至于为啥会占用,怎么占用,我不知道,也不想知道呢。反正不卡就可以了。
    3.我觉得没必要关闭吧。为啥要关闭呢。不用在意这些的,不想看到,就重启一遍机器就没有了。再生成再重启,但是我觉得没啥必要吧。关注这些干啥呢。
    tulongtou
        2
    tulongtou  
       2019-11-03 19:44:57 +08:00 via iPhone   ❤️ 1
    我的也是这样,怕内存不够买了 32G 的,但是内存使用几乎从没到过 20G,都是好几 G 的 swap,甚至出现过 10G 的 swap 情况,但是物理内存还是只占用不到 20G,很奇怪 Mac 的内存管理是什么样的
    CrabAss
        3
    CrabAss  
       2019-11-03 19:49:17 +08:00   ❤️ 9
    建议回大学重读操作系统理论
    chevalier
        4
    chevalier  
       2019-11-03 20:08:36 +08:00
    32G 内存,SWAP Memory 一直是零,供参考
    niuxuewei
        5
    niuxuewei  
       2019-11-03 20:13:24 +08:00 via iPhone   ❤️ 5
    有些人不说就不说 别老是建议别人 老实说我觉得在请求分页系统中只有在内存满了 才置换到外存 说的没啥毛病
    lxk11153
        6
    lxk11153  
       2019-11-03 20:27:12 +08:00
    iStat 是啥工具
    ys759206502
        7
    ys759206502  
       2019-11-03 20:43:12 +08:00 via Android
    空闲时将数据加载进虚拟内存就是为了给你物理内存省空间,防止物理内存不足启个大内存程序,还要再花时间把数据读到磁盘
    wu67
        8
    wu67  
       2019-11-03 20:47:52 +08:00 via Android
    其实内存有很大部分是缓存,非硬性需要的内容。另外有部分傻屌软件的策略可能也有问题,非要去整虚拟内存
    luckyrayyy
        9
    luckyrayyy  
       2019-11-03 20:57:31 +08:00
    @lxk11153 在状态栏监控系统信息的小工具。
    luckyrayyy
        10
    luckyrayyy  
       2019-11-03 20:58:14 +08:00   ❤️ 1
    我也很好奇,强行禁止的话又担心自己"教系统工程师优化系统"这种事情,或者产生额外的麻烦。
    keyv
        11
    keyv  
       2019-11-03 22:08:13 +08:00 via iPhone
    没必要关,默认就好,分配策略未知的情况下关掉很容易出问题。并且根据我的实际体验来看,macos 里的虚拟内存貌似会动态调整大小。。。
    tulongtou
        12
    tulongtou  
       2019-11-03 22:56:50 +08:00
    @keyv 好像只会动态调整大,不会动态变小
    1002xin
        13
    1002xin  
       2019-11-03 23:09:44 +08:00
    建议用回 4G 内存,那更适合这样的思路
    tmado
        14
    tmado  
       2019-11-03 23:16:07 +08:00 via Android   ❤️ 2
    牛鬼神蛇 阴阳怪气
    20015jjw
        15
    20015jjw  
       2019-11-04 05:01:38 +08:00 via Android
    64g 内存的时候 swap 是 0
    32g 笔记本应该还是在用 swap 的..
    lizardll
        16
    lizardll  
       2019-11-04 08:26:41 +08:00 via iPhone
    Ubuntu 有一个虚拟内存的激进程度参数可以调,不知道 macos 有没有
    j2001588
        17
    j2001588  
       2019-11-04 08:33:06 +08:00 via iPhone
    没想到在 v2 还能碰到纠结虚拟内存问题的人,回炉重念吧
    TongyeYao
        18
    TongyeYao  
       2019-11-04 09:23:37 +08:00   ❤️ 2
    现在问个问题门槛都这么高了吗。。虚心求教碰一鼻子灰,将心比心以后你或许也是那个碰鼻子的人。
    Prophetia
        19
    Prophetia  
       2019-11-04 09:25:46 +08:00   ❤️ 1
    我也是一直用 istat 看这些数据的人,内存只有 16G,但是除了开虚拟机,基本上最多只能用到 10G,倒是 swap 倒是经常很高。一般来说电脑久了不关 swap 会高一些,一个月重启一次就行了。
    另外还有部分软件内存泄漏会出现,曾经有个版本的 sketch 占了我 20G 的内存。

    除了以上两种情况,基本上不纠结内存的问题。
    Cyshall
        20
    Cyshall  
       2019-11-04 09:34:19 +08:00
    你说的虚拟内存是啥? swap 吗?
    harryxtse
        21
    harryxtse  
       2019-11-04 10:45:58 +08:00
    48G 内存 swap 0
    2bab
        22
    2bab  
       2019-11-04 12:54:07 +08:00 via iPhone
    64 -> 0
    nyanyh
        23
    nyanyh  
       2019-11-04 15:00:37 +08:00   ❤️ 4
    阴阳怪气的人真是多,动不动就让人看书,自己弄明白了吗还有资格指责别人?
    之前看过 10.14 某个版本的 XNU 源码,默认的交换文件使用策略是内存压力大于 65%的时候开始使用交换文件,可以使用 memory_pressure -p 90 来测试,但是为什么是 65 的依据没找到
    nyanyh
        24
    nyanyh  
       2019-11-04 15:02:16 +08:00   ❤️ 2
    错了,是 memory_pressure -p 10,-p 参数是空闲百分比
    nyanyh
        25
    nyanyh  
       2019-11-04 15:09:43 +08:00   ❤️ 1
    在 osfmk/vm/vm_compressor.c
    yuhuan66666
        26
    yuhuan66666  
    OP
       2019-11-04 15:12:21 +08:00
    @nyanyh #23 感谢大佬 涨知识了 大佬威武
    kwanzaa
        27
    kwanzaa  
       2019-11-05 17:14:43 +08:00
    @nyanyh #23 是大佬。刚遇到这个问题,没想到摸摸鱼就解决了。
    zbzclxn
        28
    zbzclxn  
       2019-11-13 22:45:14 +08:00
    囊中羞涩,还拿着 8g 的 pro 干活,晚上经常开着星际老男孩的直播边听边干活,多开一个斗鱼页面内存就捉襟见肘。。。不得已把老 ipad 拿出来当播放器了。。。
    laggage
        29
    laggage  
       2022-07-14 14:09:33 +08:00
    64g 的 mbp2019 遇到了 swap 二十几 g+的问题,贼卡,温度不高但是频率不到 2ghz ,磁盘读写经常几百兆,然后重启了 windowserver 后好了。。。
    CSGO
        30
    CSGO  
       2023-02-15 09:09:31 +08:00
    16gb inter 机子很容易触发;换了 32gb m 芯片,还有 20gb 实际可用,发现还是触发了 2gb 虚拟内存,并且一直占用 400mb 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   975 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:30 · PVG 04:30 · LAX 13:30 · JFK 16:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.