布局:
我在客户端有一台服务器(win2003 R2 SP2 标准版 32 位),上面有 sql-server 2005 和一些数据库。此系统以 /3GB 开关启动。系统报告 3.25 GB RAM,任务管理器报告 sqlserver.exe 进程为消耗量最高的进程,消耗量为 2758255 K。
操作系统将 RAM 分为应用程序 RAM 和操作系统本身 RAM,通常比例为 50:50。但此处我们已激活 /3GB 开关,我认为应用程序 RAM 部分占 RAM 的 50% 以上。
知识(或者最好不是知识):
有人告诉我,如果操作系统的 RAM 部分内存耗尽,服务器就会进入紧急模式。
问题:
这个按压模式是什么?
在这种情况下,按压模式是否可行?
除了优化数据库和所有这些东西之外,还应该做什么来从这个 SQL 服务器中获得更高的性能。
答案1
从来没有听说过这种“按压模式”,谷歌似乎也找不到关于它的任何信息;然而,这个可以实际上可能是一个问题,但通常情况下并非如此。
内核很难真正用完一整 GB 的内存;这可以发生在内存密集型设备驱动程序中,或者如果您还启用了 /PAE 开关,这会导致内存管理开销增加。
最好的选择是切换到 x64 Windows;即使您只有 4 GB 的物理内存,您至少可以使用所有内存,而不必再担心内核/用户空间问题。您正在使用 SQL Server 2005,因此这是一个可行的选择(除非您有其他应用程序问题)。
答案2
我从来没有听说过“按下模式”,但你可以阅读更多关于 windows 内存处理的信息在这个答案中。优化此服务器我要做的第一件事就是看看是否可以将系统重建为 64 位。
答案3
你确定告诉你这种“按下”模式的人实际上没有把它称为“分页”吗?
答案4
谢谢您的关注。我很抱歉提出这个问题,但该问题已在以下博客中描述。http://blogs.msdn.com/slavao/archive/2006/11/13/qa-does-sql-server-always-respond-to-memory-pressure.aspx
我经过永无止境的研究发现了这一点,它正是我所想的。