服务器无法分配系统页面缓冲池中的内存

症状信息:
当服务器的负载很重时,服务器服务可能会在系统事件日志中重复记录以下错误,指示服务器的页面缓冲池内存不足:

来源 - SRV
类型 - 错误
事件 ID - 2020
Description -

服务器无法通过系统页面共享区来进行分配,因为共享区当前是空的。
数据 -
0000: 00040000 00540001 00000000 c00007e4
0010: 00000000 c000009a 00000000 00000000
0020: 00000000 00000000 0000000b

问题原因:
有几种因素可能会耗尽页面缓冲池内存的供应。启用池标记并以不同的时间间隔拍摄池快照可以帮助您了解哪个驱动程序正在使用页面缓冲池内存。如果池快照指出 MmSt 标签(Mm 区域对象原型 PTE)使用的池内存最多,并且页面缓冲池内存已耗尽,或者系统在记录出错事件 2020,则很可能是因为服务器上打开了大量的文件。默认情况下,当系统达到总页面缓冲池大小的 80% 时,内存管理器会设法修整分配的页面缓冲池内存。根据系统配置,计算机上可能的最大页面缓冲池内存可以是 343MB,而此数量的 80% 就是 274MB。如果内存管理器的修整速度跟不上需求,就可能发生本文“症状”一节中列出的事件。通过优化内存管理器,使它在更早的时间(比如当使用的页面缓冲池内存达到 60% 时)开始修整过程,在突发的高峰使用期间就可以满足页面缓冲池的需求,从而避免出现页面缓冲池内存不足的情况。

解决方案:
 

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。
以下优化建议在减轻此问题方面很有帮助:
  1. 启动注册表编辑器 (Regedt32.exe)。
  2. 在注册表中找到并单击以下注册表项:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management
  3. 在“编辑”菜单上,单击“添加数值”,然后添加以下注册表值:
    数值名称: PoolUsageMaximum
    数据类型:REG_DWORD
    基数:十进制
    数值数据:60
    将该值设置为 60 可以通知内存管理器在达到 PagedPoolMax 的 60% 而不是默认设置 80% 时开始修整过程。如果 60% 的阈值不足以处理活动中的高峰,请将此设置减小到 50% 或 40%。
    数值名称: PagedPoolSize
    数据类型:REG_DWORD
    基数:十六进制
    数值数据:0xFFFFFFFF
    将 PagedPoolSize 设置为 0xFFFFFFFF 可为计算机分配最大的页面缓冲池以取代其他资源。
  4. 退出注册表编辑器。
  5. 重新启动服务器,以使更改生效。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值