全部,
在此先感谢您的帮助。
我需要了解如何处理我认为是其中一台服务器上过度分页的问题。
该服务器是 16 处理器 64 位 Windows Server 2003 - 数据中心版本。我们运行 SQL Server 2005 企业版。它还运行 i2 的一款名为 Demand Planner 的应用程序。
一天中的寻呼量通常会激增至每秒 6,000 至 10,000 页。
我使用 Idera 的诊断管理器监控内存,可以看到当发生高分页时,总内存低于 60GB。我将 SQL 设置为最大内存 50GB,为操作系统和其他进程留出 14GB。i2 需求计划器应用程序是一个 32 位应用程序,因此它使用的内存不应超过 2GB。
我应该查看什么来确定此分页的原因,以及我应该如何控制它。
谢谢,理查德
答案1
“进程”对象下每个实例的“页面错误/秒”计数器(即,框上运行的每个进程)将告诉您哪些进程正在创建页面错误。您也可以通过打开“页面错误增量”列来使用“任务管理器”查看页面错误。
“页面错误/秒”的问题在于它既包括硬错误,也包括软错误(即所需页面仍在物理内存中的页面错误)。软错误并不昂贵。
您确实需要查看是否存在大量硬页面错误(即必须转到磁盘的页面错误)。查看“内存”对象中的“页面输入/秒”计数器,了解发生了多少硬页面错误。
当必须从磁盘读取满足请求所需的内存页时,就会发生硬页面错误。硬页面错误的“修复”方法是添加物理 RAM。
当应用程序首次写入新页面(写时复制)、要求将页面清零或访问已在内存中其他地方的页面(例如另一个进程正在使用的内存映射文件)时,会发生软页面错误。如果您看到大量软页面错误,您可能无法采取很多措施来“修复”它,但您也不应该太担心它们。