SQL Server的适当Windows O / S页面文件大小

时间:2020-03-05 18:37:48  来源:igfitidea点击:

对于运行SQL Server的Windows 2003 Server的适当的页面文件大小,是否有很好的经验法则?

解决方案

回答

如果我们正在寻找高性能,则将要避免完全分页,因此页面文件的大小变得不太重要。为数据库服务器投资尽可能多的RAM。

回答

越大,就越适合应用程序的工作集大小,我们将从中开始逐渐减少收益。我们可以尝试通过逐渐增大或者减小大小来找到它,直到看到高速缓存命中率发生显着变化为止。但是,如果缓存命中率超过90%左右,则可能还可以。通常,我们应该关注生产系统,以确保它没有超出其RAM分配。

回答

最近,我们的一台SQL Server遇到了一些性能问题,我们无法完全缩小范围,实际上是使用了一张Microsoft支持票证来帮助他们进行故障排除。提出了与SQL Server一起使用的最佳页面文件大小,Microsoft的建议是它是RAM大小的1 1/2倍。

回答

与RAM大小无关,我们仍然需要一个至少是物理RAM量1.5倍的页面文件。即使我们拥有1 TB RAM计算机,也是如此,磁盘上将需要1.5 TB页面文件(听起来很疯狂,但这是事实)。

当进程通过VirtualAlloc / VirtualAllocEx请求MEM_COMMIT内存时,需要在页面文件中保留请求的大小。在第一个Win NT系统中就是如此,今天仍然如此,请参见在Win32中管理虚拟内存:

When memory is committed, physical
  pages of memory are allocated and
  space is reserved in a pagefile.

除非出现一些极端奇怪的情况,否则SQL Server始终会要求提供MEM_COMMIT页。考虑到SQL使用动态内存管理策略的事实,该策略会尽可能多地预留前端缓冲池(根据VAS进行预留和提交),因此SQL Server将在启动时请求页面文件中的大量预留空间。如果页面文件的大小不正确,错误801/802将开始显示在SQL的ERRORLOG文件和操作中。

这总是会引起一些混乱,因为管理员错误地认为大RAM消除了对页面文件的需求。实际上,恰恰相反,由于Windows NT内存管理器的内部工作原理,大内存增加了对页面文件的需求。希望保留的页面文件从未使用过。

回答

微软表示,"随着计算机中RAM数量的增加,对页面文件的需求就会减少。"然后,本文继续描述如何使用性能日志来确定实际使用了多少页面文件。首先尝试将页面文件设置为1.5倍系统内存,然后执行建议的监视并从此处进行调整。

如何为Windows 64位版本确定适当的页面文件大小