这可能听起来像一个奇怪的问题,但我有点担心我们的主数据库服务器没有利用所有可用的内存。 这是一个32位Windows 2003 / SQL Server 2005标准部署。 它是在该框上运行的唯一实例,并且仍然应用了默认的内存限制设置。 服务器有4GB内存,AWE开启。 我们最近有数据库缓慢的报告,所以我去服务器看看。 我很惊讶地看到,sqlserver.exe进程只使用(并已达到)137MB RAM。 我们有多个SharePoint服务器场,几个面向互联网的网站和多个内部应用程序,这些服务器都是从这个数据库服务器运行的,我预计它会使用更多的RAM。
不知道更好的方法来testing这个,我写了一个SQL查询,创build一个临时表,并插入一些大型string数百次(我实际上是一个开发人员和pipe理员第二)。 在我的本地框中,当我运行这个查询时,内存使用增加到了将近2GB。 在所有其他服务器上,内存使用量显着增加。 然而,在我们的生产服务器上,内存没有任何改变 – 它保持在大约137MB(处理器使用率上升,所以肯定是在做一些事情)。
总而言之,我有点困惑,希望有人能够对此有所了解?
使用AWE,您不会在进程列表中看到SQL Server的真实RAM使用情况(因为AWE映射内存)。 你需要进入性能监视器,并从那里看看(我忘记使用哪个SQL计数器,但它将在SQLServer:Memory Manager )。
您可以尝试在SQL Server中手动设置内存限制。
sp_configure'min server memory',1024
RECONFIGURE
走
sp_configure'最大服务器内存',4000
RECONFIGURE
走
应该使内存使用量增加。