Windows Server 2003 内存问题

Windows Server 2003 内存问题

我遇到了一个严重的内存问题,这导致服务器出现严重问题。

机器上有 Windows 2003 x86、SQL Server 2005 和 IIS,上面运行着许多应用程序。8 处理器系统,4GB RAM。最近出现的主要问题是内存使用率始终很高,大约 3.8GB。重新启动后一段时间,内存使用率开始增长到 3.8 - 4GB,然后一些应用程序停止响应请求,sql server 查询执行速度变慢,唯一能做的事情就是重新启动,这很糟糕。

当我查看任务管理器中的进程时,消耗的内存总量几乎不超过 1Gb。当我打开 vmmap 监视器时,它显示了相同的内容。

SQL Server 最大内存为 2Gb。页面文件为 2 - 4Gb。

您有什么想法,如何才能找出是什么消耗了这么多内存?

答案1

SQL 服务器可能是罪魁祸首。该机器会尝试使用尽可能多的内存来优化自身。MSDN 论坛有一个关于与您的问题非常相似的问题的对话。在 MSDN 上,有几篇文章可以帮助您管理 SQL Server 使用的内存。

服务器内存选项 监控内存使用情况

祝你好运解决问题并希望这对某些人有所帮助。

答案2

如果不是 IIS,那我会非常惊讶。您在那里运行了哪些应用程序?

答案3

查看性能计数器进程类别。此类别为服务器中的每个进程提供一个实例,各个计数器将显示每个进程分配的内存、虚拟地址空间大小和工作集大小。一旦您找到哪个如果进程消耗了所有内存(假设内存是在用户模式下消耗的),那么您可以针对性地进行调查。IIS/ASP 和 SQL 都是严重消耗内存的进程,但它们之间的故障排除和调查截然不同。因此,在开始盲目更改设置之前,首先找出是哪一个非常重要。

另外,你不应该在同一台机器上运行 IIS 和 SQL

答案4

首先确保任务管理器显示所有用户的进程。任务管理器中显示的内存应该非常接近框中的内存使用率。这将告诉您哪些进程正在消耗内存。很可能是 IIS 正在消耗内存,根据我的评论,您应该将应用程序池的数量减少到所需的数量(每个身份 1 个,每个框架版本 1 个)

相关内容