题 具有大量RAM的服务器上的页面文件大小


我们有一个数据库服务器,我们正在升级到64GB的RAM,但目前它只有小型SCSI驱动器 - 总共刚刚超过400GB(镜像后为192GB)。我们的数据库相对较小,但每个人都告诉我们页面文件应该是1-1.5X RAM。考虑到我们的小磁盘大小,我们需要设置某种类型的最大尺寸,但仅仅为了存储页面文件而在SCSI磁盘中购买500美元似乎很愚蠢。


4
2018-02-07 23:14






答案:


1.5倍的物理RAM只是一个指导原则。关于页面文件大小调整有一些一般性的指针 这篇Technet文章 这说得好:

在服务器系统上,一个共同的目标   是有足够的RAM,所以有   永远不会缺少页面文件   基本上没用过。在这些上   系统,有一个非常大的   页面文件可能没有用处。

但是对于某些系统(域控制器,Exchange服务器)来说,完全禁用页面文件并不是一个好主意。它的 DC特别反对 这对你来说是一个非常糟糕的主意 Exchange服务器。我已经在E2K7服务器上看到了那篇文章中描述的Exchange行为(由分页引起的极端磁盘抖动),而这个服务器并不是那么忙于32G的物理RAM,有人将页面文件大小设置为1G。

我从来没有发现(或听说过)任何特定的语句,表明SQL需要一个分页文件,除了一般的论点,如果其他东西变得流氓并且咀嚼所有物理RAM,它会有所帮助。


7
2018-02-07 23:42



+1;这就是我要说的! - Maximus Minimus
值得记住的是,盒子上的几乎任何进程都可以将其内存标记为写入页面文件,而不仅仅是mssql。 - Sam
这是真的 - 我通常会避免完全摆脱页面文件,但在具有32G RAM的机器上创建48GB(或32.01G)页面文件似乎就像使用sledghammer来破解坚果(除非你有一个很好的理由)。 - Helvick


我自己也不用担心,在我们的物理MSSQL盒子上,我们专门关闭分页,而我们的一些我们运行的分区一次没有输入。这就是说我仍然想让Windows管理自己的页面文件,关注它,它会告诉你它需要多大。


2
2018-02-07 23:16





正确规范dbase服务器的整个目标是为整个数据库提供足够的RAM。你想要的最后一件事是导致磁盘I / O(交换)的SQL查询。找到MSSQL数据库文件夹并检查数据库的总磁盘使用情况。在理想的世界中,系统中至少应该有两倍的RAM。这为dbase增长留下了足够的RAM,并且足以用于查询缓存等。

因此,要回答您的问题,对于内存较低的系统,交换可以是内存的1.5倍,对于具有大量内存的系统,交换通常可以是8GB或更少。如果你开始使用分页,不要增加swap ..增加你的RAM。


2
2018-02-08 03:42





我建议从尺寸合适的东西开始,但与你的物理记忆相比较小。在一个32GB的盒子上,8gb页面文件是一个好的开始。一旦你测试了一段时间,你可以随意移动这个数字。确保为SQLserver提供“将页面锁定在内存中”的权限,以便无法对数据库服务器本身进行分页。

有关内存大小的精彩文章,请参阅:

http://support.microsoft.com/kb/889654


0
2017-12-29 21:42