子:由sqlservr.exe进程的高内存使用率。
当我查看任务pipe理器进程或通过使用perfmon内存计数器(Sqlserver:内存pipe理器:目标服务器内存和Total服务器内存)我得到高内存利用sqlservr.exe进程近8 GB(目标服务器内存计数器)和7.95 GB(总服务器内存)。
当我重新启动MSSQLSERVER服务时,它再次发射到相同的大小。 我经常遇到这个问题。
请帮助我确定为什么SQL服务器使用这么多的内存,以及如何找出什么查询,存储过程等使SQL Server使用这么多的内存。
***我没有在我的代码中使用任何触发器或游标。
谢谢
根据我的经验,SQL Server将尝试尽可能多地预分配内存,因为它高度依赖内存来提高性能。 通常需要我们的SQL Server计算机大约一周的时间来为SQL Server进程占用32GB的RAM空间。
当你设置你的SQL服务器时,你应该采取的第一步就是设置你的SQL内存限制。 这个博客有一个很好的指导。 对于8GB服务器,build议将MaxServerMem设置为6400MB,这将为操作系统和其他操作留下1.5GB的空间。 操作系统将始终将SQL服务器进程显示为使用分配给它的所有内存,并且如果不设置限制,SQL将尝试使用系统上的所有内存,这会导致页面性能下降,因此请使用阻止这种情况的发生。
在BrentOzar.com上可以findSQL Server安装的另一个很好的参考资料,指导您了解一些基本的安装参数,以充分利用SQL Server。