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

请教 32G 内存,集显的笔记本,平时用到 16G 内存就内存不足

  •  
  •   dreambakerq · 13 天前 via Android · 3310 次点击

    edge 或者 idea 出现内存不足时,任务管理器看内存只有 50%的占用。怀疑是 5 核显共享 gpu 内存的问题,但网上查了一圈也没弄明白,求指教,感谢!

    44 条回复    2024-04-18 03:37:31 +08:00
    dreambakerq
        1
    dreambakerq  
    OP
       13 天前 via Android
    网上查了下,大部分都说共享 gpu 内存并不是直接占用,是会动态调整的。
    但是我实例使用中,内存占用都在 16g 以下,占用率上不去。怀疑是不是共享 gpu 的 16g 内存不能被系统其他进程使用?
    djs
        2
    djs  
       13 天前
    要不要先用内存测试工具测下看看能不能跑满
    cdd2zju
        3
    cdd2zju  
       13 天前
    把虚拟内存打开试试。我之前仗着自己内存 32gb ,把虚拟内存关了,结果 chrome 浏览器动不动内存不足。
    dreambakerq
        4
    dreambakerq  
    OP
       13 天前 via Android
    @djs 是个思路,没想到这层,明天试试
    wjx0912
        5
    wjx0912  
       13 天前
    核显设置 128M 算大的了
    dreambakerq
        6
    dreambakerq  
    OP
       13 天前 via Android
    @wjx0912 好像只能从 bios 设置,看了半天我的笔记本 bios 里好像没这个选项
    dreambakerq
        7
    dreambakerq  
    OP
       13 天前 via Android
    @cdd2zju 虚拟内存应该是开了的
    yeqizhang
        8
    yeqizhang  
       13 天前 via Android
    开没开虚拟机?反正都是 windows 的锅就是了,隔壁苹果电脑 8g 都够用/doge
    mylovesaber
        9
    mylovesaber  
       13 天前 via Android
    edge 这个内存不足问题我遇到过好多次,最后重装系统了,我 64g 只用了一半或者四分之三的时候就可能遇到,恶心的不行
    yyzh
        10
    yyzh  
       13 天前
    你用 chrome 吧.
    GrayXu
        11
    GrayXu  
       13 天前
    @dreambakerq #1 这个动态,似乎只能动态上,不能动态下。
    Shatyuka
        12
    Shatyuka  
       13 天前 via iPhone
    升级下 edge ?上个月有个版本会出现有内存还报内存不足的问题
    DOLLOR
        13
    DOLLOR  
       13 天前   ❤️ 1
    内存不足是由“已提交”(任务管理器也有显示)决定的。
    即使你的内存看似还有很多空间,但要是“已提交”满了,也会报内存不足。
    msg7086
        14
    msg7086  
       12 天前
    如#13 所说,内存足与不足是看已提交是否达到了物理内存+虚拟内存总量。如果你有 32G 物理内存,16G 分页文件,你的总内存大小就是 48G ,那么你的已提交最多只能到 48G ,超过 48G 就会爆内存。
    这和你物理内存占用 50%没关系。就算你物理内存占用 5%,已提交(或者说内存使用量)爆了就是爆了。
    msg7086
        15
    msg7086  
       12 天前   ❤️ 2
    已提交内存是已申请内存。内存页上的占用是已使用(有内容的)内存。
    已申请但没有使用的内存可以挪作他用,比如用来做硬盘的缓存给文件读写提速。
    但 Windows 下已申请内存是不能超过内存总和的。比如你有 48G 总内存,你只能申请到 48G ,不能申请 49G 内存。
    Linux 内核可选过量申请,即使你只有 48G 内存,你申请 480G 内存也可以批给你,但是当你真正写入 48G 数据以后还是会炸。
    dreambakerq
        16
    dreambakerq  
    OP
       12 天前
    @mylovesaber 以前挺好用的,越来越不如了
    dreambakerq
        17
    dreambakerq  
    OP
       12 天前
    @yyzh 以前用 chrome 的,edge 后来说用了 chrome 内核又省资源才换的
    dreambakerq
        18
    dreambakerq  
    OP
       12 天前
    @Shatyuka 显示是最新版本了
    dreambakerq
        19
    dreambakerq  
    OP
       12 天前
    @DOLLOR 学到了
    dreambakerq
        20
    dreambakerq  
    OP
       12 天前
    @msg7086 感谢讲解
    dog82
        21
    dog82  
       12 天前
    这种情况我都建议重装
    dreambakerq
        22
    dreambakerq  
    OP
       12 天前
    @dog82 开发机,搞环境有点心累
    WashFreshFresh
        23
    WashFreshFresh  
       12 天前
    拔掉一根内存就不用纠结了。
    Karte
        24
    Karte  
       12 天前
    换 debian 吧
    dreambakerq
        25
    dreambakerq  
    OP
       12 天前
    不知道是不是虚拟内存的锅。
    我现在虚拟内存是放在 C 盘,C 盘空间不太充足了。
    得空了我换个大点的硬盘,重新设置下虚拟内存再试试。
    谢谢大家的分析。
    BrookO
        26
    BrookO  
       12 天前
    我机子是 64G 的,日常占用在 35G 左右,然后我把虚拟内存关闭了,会经常突然蓝屏,看日志都没信息,,,建议你也看下是不是虚拟内存配置不合理导致的
    wanguorui123
        27
    wanguorui123  
       12 天前
    开虚拟内存,主要是无法分配连续内存导致不足
    iv8d
        28
    iv8d  
       12 天前
    在 bios 里把显卡共享内存设置一下
    shenxian996
        29
    shenxian996  
       12 天前
    任务管理器,内存页,截个图看看吧。
    看你上面回复,虚拟内存开了,这个玩意必须开,
    显存是用多少给多少,不用不给
    感觉是电脑问题,或者 bios 设置了固定?不过 bios 里面也不大,没见过 8g 的最大也就 1g 吧。
    pe 先测试一下,排除系统问题。找个完整版 pe
    archxm
        30
    archxm  
       12 天前
    @msg7086 那就设置 128G 分页,哈哈,硬盘买大点
    ShadowPower
        31
    ShadowPower  
       12 天前
    其实程序申请了但没有使用的内存,也应该算真正的“内存占用”,尽管任务管理器的“内存”上是一片空白。
    如果此时每个程序在下一瞬间就要全部使用他们申请的内存,系统也要能确保给程序提供这部分内存空间。

    “任务管理器看内存只有 50%的占用”其实只意味着“物理内存上面有 50%容量分配给了应用程序”。
    实际上可能所有程序实际申请的内存大小已经超出了系统允许申请的内存上限(物理内存+最大页面文件大小)。

    因此,尽管物理内存没有用满,但系统会拒绝程序申请内存空间,以避免“虽然成功申请了内存,但程序要用的时候,系统却不给用”的问题。

    对于应用程序来说,它申请内存失败了,就意味着“内存已经满了”。

    Windows 的“虚拟内存”( Windows 设置界面上的描述文本,并非操作系统术语)如果设置为“自动管理”的话,实际上有一个最大值,大概是物理内存的 2 倍。这就决定了程序能申请多少内存。
    yulgang
        32
    yulgang  
       12 天前
    用 RAMMap.exe 清理一下 working sets 和 system working set 看看
    dreambakerq
        33
    dreambakerq  
    OP
       12 天前
    @iv8d bios 太老了,试着改了一些参数不生效
    dreambakerq
        34
    dreambakerq  
    OP
       12 天前
    @BrookO 看了楼上老哥的分析,确实是已提交占完了,感觉虚拟内存小了不够用
    dreambakerq
        35
    dreambakerq  
    OP
       12 天前
    @wanguorui123 对的,idea 会提示分配内存时控件不够
    dreambakerq
        37
    dreambakerq  
    OP
       12 天前
    @shenxian996 bios 试了设置不了,好像默认集显就是给一半内存,但是这个确实好像影响不大。
    jjx
        38
    jjx  
       12 天前
    核显占 16g ?

    一般就 1-2g , amd 的更多要 bios 去手动分配, 8g 顶天了
    JensenQian
        39
    JensenQian  
       12 天前 via Android
    还是换回 chrome 了我
    edge 我都让他滚蛋了,这东西现在塞的都快感觉是数字浏览器了
    TArysiyehua
        40
    TArysiyehua  
       12 天前
    你内存不足跟 gpu 有啥关系
    dreambakerq
        41
    dreambakerq  
    OP
       12 天前
    @TArysiyehua 用的是集显,任务管理器显示有个 16G 共享 gpu 显存,然后内存里面老是剩 16G ,以为是集显固定占用那么多。
    dreambakerq
        42
    dreambakerq  
    OP
       12 天前
    明白了内存不足的机制了。要看任务管理器里的“已提交的内存”,如果“已提交内存”如果把 虚拟内存+物理内存都用完了,就会提示内存不足。而不是看“可用”。
    dreambakerq
        43
    dreambakerq  
    OP
       12 天前
    把设备上的自启动服务清理了一下恢复正常了,说到底还是内存用的太多不够用了。
    honjow
        44
    honjow  
       12 天前
    @dreambakerq 正常来说不会有直接给核显一半内存那么多的。这个设置的是专用显存,设置过去就不能做内存了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   948 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:36 · PVG 04:36 · LAX 13:36 · JFK 16:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.