对于我的一台具有以下配置的服务器:
总内存:32 GB
中央处理器:8
最大服务器内存:22.5 GB
最小服务器:: 4 GB
版本:在 SP3 上安装 2k8R2 的企业版
页面文件:系统管理在 C:\
启用 AWE:否,因为它是 64 位
我不断收到关于OS paging High
..的警报
当我使用 RAMMAP 工具检查内存利用率时,我发现 AWE 使用了大约 23.8 GB,因此阻止了任何进一步的内存使用:
更多的用户权限分配:“内存中的锁定页面”没有被分配任何权限!
请帮助我了解我还需要调查的地方,或解决方案
谢谢!
内存基本上是两种类型的物理随机存取内存(RAM)和虚拟内存。一个进程必须首先映射到虚拟内存,然后再映射到物理内存。所有程序都使用 RAM,但是当您尝试运行的程序没有足够的 RAM 时,Windows 会临时将通常存储在 RAM 中的信息移动到硬盘上称为页面文件的文件中。临时存储在分页文件中的信息量也称为虚拟内存。现在错误页面文件少了可以有多种含义
您正在运行一些大量使用内存的进程,并且由于操作系统无法为其找到足够的 RAM,它必须使用页面文件作为临时存储区域。
由于 SQL Server 使用 Locked pages in memory 特权运行,因此该内存无法调出到磁盘,并且操作系统无法通过要求 SQL Server 大量释放它来直接使用该内存。因此,在这种情况下,您需要稍微降低 SQL Server 的最大服务器内存,并为操作系统提供更多内存,以便它能够正常运行。使用如何设置最大服务器内存的最佳值来设置最大服务器内存的正确值。在您的情况下,您为操作系统留下了 10 G,除非您使用 SSIS、SSAS 和 SSRS,否则我认为这非常好。
问题可能不是 SQL Server 内存或 AWE API(锁定页面)分配的内存问题这里是 windows 页面文件大小较小。你需要对此采取行动。页面文件是用于保存临时数据的临时区域,这些临时数据被换入和换出物理内存,以提供更大的虚拟内存集。最初提交页面时会保留页面文件空间,但是在将页面写入磁盘之前不会选择页面文件位置。
单个系统的页面文件需求将根据服务器的角色、负载等而有所不同。您可以使用一些性能计数器来监控系统范围内或每个页面文件的私有提交内存使用情况。无法确定进程的私有提交内存中有多少是驻留的,有多少是分页到分页文件中的。
内存:已提交的字节数:已提交的虚拟内存的字节数。这不一定代表页面文件的使用 - 它代表如果进程完全非驻留将使用的页面文件空间量
内存:提交限制: 无需扩展分页文件即可提交的虚拟内存字节数。
分页文件:% Usage 已提交分页文件的百分比
分页文件:% Usage Peak 已提交分页文件的最高百分比
请使用上述计数器为页面文件设置适当的值。您可以阅读此链接以获取有关页面文件的更多信息
您可以通过右键单击我的电脑选择属性然后进入高级系统设置来设置页面文件。在性能部分单击设置,然后单击高级选项卡。您会看到虚拟内存部分,然后单击更改,您可以在此处设置虚拟内存。请参考截图。在 Windows 团队的帮助下配置最佳值。如果设置了自动设置驱动器页面文件选项,您可以取消选中它并单击设置以设置页面文件的最佳值。
考虑到 SQL Server 服务帐户是本地系统这一事实,这很正常,因此默认情况下 SQL Server 帐户将获得内存中的锁定页面特权。