请问现在 win10 任务管理器的内存占用该怎么理解? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NeezerGu
V2EX    Windows

请问现在 win10 任务管理器的内存占用该怎么理解?

  •  
  •   NeezerGu 2021-06-03 19:25:12 +08:00 6368 次点击
    这是一个创建于 1671 天前的主题,其中的信息可能已经有所发或是发生改变。

    表示完全看不懂, 所有的加起来恐怕也不超过 5G,但系统内存占用超过 12G (正常办公,开的网页比较多,无其他东西)

    13 条回复    2021-06-05 13:08:16 +08:00
    NeezerGu
        1
    NeezerGu  
    OP
       2021-06-03 20:19:02 +08:00
    忙完关闭了一波进程, 关掉 qq 音乐的时候直接少了 5G, 估计内存泄漏了。
    但为什么 qq 音乐写着 67M 我有点没懂
    ysc3839
        2
    ysc3839  
       2021-06-03 20:25:25 +08:00   2
    NeezerGu
        3
    NeezerGu  
    OP
       2021-06-03 20:32:48 +08:00
    @ysc3839 虚拟内存这个我懂,也能理解。这里不能理解的是:
    比如从实际而言,我这里 qq 音乐占用了 5G 内存(关闭了 QQ 音乐,任务管理器里空闲内存直接多了 5G ),在第一个页面 qq 音乐占用内存才 63M 。我不认为这部分是已提交然后闲置在那里, 因为就像知乎上科普的一样,按说这样应该会写入虚拟内存。

    另外,用 mac 的时候,内存占用就非常清晰,当内存不够,开始卡的时候,看一眼活动监视器,就能直接找到哪个应用的问题,win10 就不行,这点让人好蛋疼
    ysc3839
        4
    ysc3839  
       2021-06-03 20:55:03 +08:00   1
    去看了一下,任务管理器“进程”页面里的“内存”对应的是“详细信息”页面里的“private working set”。
    你看到内存占用小,但实际占用大,可能是因为程序实际使用的内存都在“shared working set”里。
    比如 VMware 是使用 file mapping 申请的内存,就被算在“shared working set”里了。

    如果你想“内存占用就非常清晰”的话,推荐去“详细信息”页面看“Working set”这一项,不过这一项是把 private 和 shared 算在一起的,会出现重复计算的问题。
    至于“进程”页面里的“内存”,似乎没有提供选项设置为“Working set”。
    Suigintou
        5
    Suigintou  
       2021-06-04 02:08:49 +08:00 via iPhone
    16G 不用看内存占用了吧,反正多开程序无压力了,不够用系统会自动调度。
    NeezerGu
        6
    NeezerGu  
    OP
       2021-06-04 04:17:40 +08:00
    @ysc3839 非常非常非常感谢,学到了
    msg7086
        7
    msg7086  
       2021-06-04 04:35:25 +08:00   1
    然后如果你内存用到进程被杀的话,杀进程是看 Committed 已提交内存。
    比如你现在已提交内存是 17.2/31.7,那你还能用 14G 才会被杀进程。

    13G 则是物理内存占用,意味着差不多有 4G 是在分页文件里。
    codehz
        8
    codehz  
       2021-06-04 07:23:08 +08:00 via Android   4
    (你要是觉得 windows 的这个难以看懂,那 Linux 这边会更让人吃惊,因为起码 windows 还能算准总的内存使用,linux 干脆连总总量都有多种不同口径)
    前面说了,主要的问题在于多个进程之间可以有共享内存,这意味着计算的时候,有 3 种可能的思路,分别满足三种特性中的两个,即所谓不可能三角
    1. 不算共享的,这就会导致直接相加后少于实际内存使用
    2. 算共享的,这就会导致直接相加后多于实际内存使用
    3. 算共享的,但是那部分数据除以被共享的次数,可以让加起来的总和等于实际内存使用,但是可能会出现开新进程后,单个进程显示内存使用率反而降低的反常情况
    (这 3 种算法就是所谓的 USS RSS PSS )
    可以看出,并不存在一种完美的算法能准确衡量单个进程的内存使用。
    而之所以说 Linux 这边更复杂,则是因为 Linux 默认启用了 overcommit 特性,加了个 VSS 指标,申请的内存可以大于实际使用的。这下好了,连找到总内存利用率都变成了不可能的任务。好多人在 Linux 下试图做 fallible allocator,实际根本没用,OOM 基本都是发生在访问内存而不是分配内存的时候。
    cheng6563
        9
    cheng6563  
       2021-06-04 11:32:33 +08:00
    似乎默认共享的内存不会再列表显示出来。
    比如 VMWare 虚拟机占得内存就是用的共享模式分配的,详情页就不会显示,可以手动调出来。
    cheng6563
        10
    cheng6563  
       2021-06-04 11:33:11 +08:00
    Windows 的已提交指的就是虚拟内存,没啥参考意义。
    zed1018
        11
    zed1018  
       2021-06-04 11:55:06 +08:00
    试试 sysinternalsSuite 里的 rammap
    AV1
        12
    AV1  
       2021-06-04 14:05:57 +08:00   1
    windows 是根据“已提交”来判断内存是否足够用的,而不是根据物理内存。
    所以,经常看到有人抱怨,明明物理内存还很充足,为什么系统还是报“内存不足”。
    那就是因为,“已提交”已经不够用了,即使物理内存还有空间,也无法再申请更多内存了。
    这时候就要考虑继续加大虚拟内存的页面文件。
    mmdsun
        13
    mmdsun  
       2021-06-05 13:08:16 +08:00 via Android
    去详情页面看,点表格头有个选择列。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1113 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 23:28 PVG 07:28 LAX 15:28 JFK 18:28
    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