Tob*_*ias 6 pagefile sql-server windows-server-2012-r2
有很多关于 Windows 页面文件大小的建议。我正在寻找的是正确的位置。
我们在具有多个独立虚拟磁盘的 Server 2012R2 VM 上运行 MS SQL 服务器:
目前,Windows 已控制页面文件。它将其大小调整为 38GB(内存为 265),并将其与日志文件一起放在磁盘上。根据我的理解,这种放置是不合逻辑的:包含 SQL 事务日志文件的磁盘是 SQL 服务器上 I/O 最重的磁盘。它真的是页面文件的最佳位置吗?至于存储空间,我可以轻松地将文件移动到另一个驱动器。
我知道,Windows 可能有理由将文件放在那里 - 但如果是这样,那会是什么?还是我的想法有问题?
老实说,您永远不希望 SQL Server 开始分页。当 SQL Server 的内存分页到磁盘时,它很容易出现梨形问题。
SQL Server 的最佳实践是将配置设置Max Server Memory为足够大的数字,以便 SQL Server 拥有足够的内存,但又足够小,以便您的操作系统和服务器上运行的任何其他内容都有足够的内存。这里和这里有一些关于如何配置的很好的建议。
对于具有 256GB 内存且仅在服务器上运行 SQL Server 的服务器,我建议首先将最大服务器内存配置为 235929 MB,这允许大约 25GB 的空间。这应该足以防止寻呼。
EXEC sys.sp_configure 'max server memory (MB)', '235929';
RECONFIGURE;
Run Code Online (Sandbox Code Playgroud)
互联网上有很多建议说页面文件应该是内存大小的 1.5 倍。在具有 256GB 内存的服务器上,这将需要 386GB 的页面文件。您希望此页面文件位于与数据和日志文件分开的驱动器上(否则分页到数据/日志驱动器将加剧分页引起的性能问题)。您的 C:\ 驱动器可能不够大,除非您使用 512GB C:\ 驱动器构建服务器。您还需要驱动器速度快(否则分页到慢速磁盘将加剧分页引起的性能问题)。您可能需要一个专用磁盘来存储该 1.5 倍页面文件。
该建议假设您希望服务器进行寻呼。您不希望您的服务器进行寻呼。SQL Server 在开始分页时可能会崩溃,如果不崩溃,您的性能将变得极其缓慢。您可以为页面文件购买某种超高速 NVMe 驱动器,这可能会使性能可接受。
我什至不在乎它有多大。我永远不会使用它。它可能非常小。它可以位于 C:\ 驱动器上。C:\ 驱动器可能会很慢。
如果系统崩溃并产生内存崩溃转储,我的页面文件可能不够大,无法处理该转储。但在具有大量内存的系统上,将 1TB 内存转储到磁盘以进行故障转储将需要很长时间,即使在快速磁盘上也是如此,而且我通常更喜欢让 SQL Server 快速恢复联机状态以捕获故障转储。作为故障排除的一部分,我可以重新配置经常出现问题的服务器。
| 归档时间: |
|
| 查看次数: |
5470 次 |
| 最近记录: |