我正在调试我的一个应用程序,并注意到我的SQL Server 2005 x64盒子上的RAM(在Windows 2003 R2 x64上运行)被挂起甚至进入页面文件。
据我所知,SQL Server 2005 x64只是抓住它可以做的一切,所以这可能是正常的(???)。如何查看实际使用的内存量?
答案 0 :(得分:22)
您需要运行Perfmon(start->控制面板 - >管理工具 - >性能)。我相信你想要的计数器是在SQL Server:Memory Manager中。目标服务器内存是指在需要时允许的内存量,总服务器内存是当前使用的内存量。如果你单击Explain,它会弹出一个包含详细信息的框。
默认情况下它没有上限,应该使用除了几个gb内存之外的所有内存(它留给操作系统)。但是,有各种错误和内存泄漏可能导致它进入分页。
答案 1 :(得分:9)
与您的问题相关,如果您在共享环境中使用它,即在托管多个SQL Server的服务器上,您可能需要考虑限制SQL Server可以访问的RAM量:
这有助于减轻SQL Server占用所有服务器的RAM。
答案 2 :(得分:2)
您应该探索SQL Server \ Memory Manager性能计数器。
答案 3 :(得分:2)
请注意,总服务器内存不是SQL Server当前使用的内存量。
参考这篇微软文章: http://msdn.microsoft.com/en-us/library/ms190924.aspx
答案 4 :(得分:-1)
转到管理工作室并运行sp_helpdb <db_name>
,它将为指定的数据库提供详细的磁盘使用情况。在没有任何参数值的情况下运行它将列出实例中所有数据库的高级信息。
答案 5 :(得分:-2)
如果您具有RDP访问/控制台访问权限,则查看ram使用情况的最简单方法是启动任务管理器 - 单击进程 - 显示所有用户的进程,按RAM排序 - 这将为您提供SQL的使用。
如上所述,要减小大小(将立即生效,不需要重新启动)启动sql management studio,单击服务器,属性 - 内存并减少最大值。没有完全正确的数字,但要确保服务器可以免费用于其他任务。
有关perfmon的答案是正确的,应该使用,但它们并不像任务管理器恕我直言那样明显。
答案 6 :(得分:-5)