MacOS 的虚拟内存有什么作用吗?内存够大,为什么还会使用? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuhuan66666
V2EX    macOS

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

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

    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.我觉得没必要关闭吧。为啥要关闭呢。不用在意这些的,不想看到,就重启一遍机器就没有了。再生成再重启,但是我觉得没啥必要吧。关注这些干啥呢。
    DonaidTrump
        2
    DonaidTrump  
       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 一直是零,供参考
    xavierniu
        5
    xavierniu  
       2019-11-03 20:13:24 +08:00 via iPhone   5
    有些人不说就不说 别老是建议别人 老实说我觉得在请求分页系统中只有在内存满了 才置换到外存 说的没啥毛病
    lxk11153
        6
    lxk11153  
       2019-11-03 20:27:12 +08:00
    iStat 是啥工具
    ys759206502
      &nbs; 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 里的虚拟内存貌似会动态调整大小。。。
    DonaidTrump
        12
    DonaidTrump  
       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   5
    阴阳怪气的人真是多,动不动就让人看书,自己弄明白了吗还有资格指责别人?
    之前看过 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     Solana     4840 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 09:42 PVG 17:42 LAX 02:42 JFK 05:42
    Do have faith in what you're doing.
    ubao msn 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