You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

服务器RAMMap显示内存多处于Large Page状态的技术咨询

服务器RAMMap显示内存多处于Large Page状态的技术咨询

嘿,我来给你把这事儿掰扯明白,保证像给5岁娃讲清楚一样简单~

首先,咱们把电脑内存想象成一堆小抽屉:正常情况下,程序要用数据就一个个拉开小抽屉取,方便灵活但效率一般。而「Large Page(大页)」呢,就是把好几十个小抽屉焊成一个超大抽屉——专门给那些需要一次性拿超多数据的程序用,这样取东西的速度会快很多!

回到你的问题:你有64GB内存,任务管理器显示用了90%但单个进程看起来都没占多少,RAMMap里却全是大页。这背后的原因大概率是:

  • 某个程序悄悄申请了大页内存,但任务管理器的统计方式没把这部分内存直接算到该进程的头上(或者显示得不够直观)。比如你提到的SQL Server,它有时候会偷偷开启大页内存来加速运行,虽然任务管理器显示它只用了500MB,但背后可能已经占了一大块大页内存啦!
  • 大页内存还有个特点:一旦被程序申请,除非程序主动释放,系统不会轻易收回这部分内存——哪怕程序暂时不用,它也会占着这个“超大抽屉”的位置,导致总内存占用看起来很高,但单个进程的数值又不大。

给你个简单的排查方法:打开RAMMap的「Large Pages」标签(就是你第二张截图里的那个页面),看右边的「Process」列,就能直接找到到底是哪个程序占了这些大页内存!找到之后,你可以去调整该程序的设置(比如SQL Server的大页内存开关),要是觉得它占太多,也可以设置内存使用上限。

备注:内容来源于stack exchange,提问作者SparedWhisle

火山引擎 最新活动