24

我正在调试我的一个应用程序,并注意到我的 SQL Server 2005 x64 框(在 Windows 2003 R2 x64 上运行)上的 RAM 被固定,甚至进入了页面文件。

我知道 SQL Server 2005 x64 只是抓住了它所能做的一切,所以这可能是正常的(???)。如何检查它实际使用了多少内存?

4

6 回答 6

23

您需要运行 Perfmon(开始->控制面板->管理工具->性能)。我相信你想要的计数器在 SQL Server:Memory Manager 中。目标服务器内存是在需要时允许占用的内存量,总服务器内存是它当前使用的内存量。如果您单击“解释”,它将弹出一个包含详细信息的框。

默认情况下,它没有上限,并且应该使用除几 GB 内存之外的所有内存(它将内存留给操作系统)。但是,有各种错误和内存泄漏可能导致它进入分页。

于 2010-01-12T15:16:28.900 回答
10

与您的问题相关,如果您在共享环境中使用它,您可能需要考虑限制 SQL Server 可以访问的 RAM 数量,即,在不仅托管 SQL Server 的服务器上:

  1. 开始 > 所有程序 > Microsoft SQL Server 2005:SQL Server Management Studio。
  2. 使用任何具有管理员权限的帐户进行连接。
  3. 右键单击数据库 > 属性。
  4. 从左窗格中选择“内存”,然后将“服务器内存选项”更改为您认为应该分配给 SQL Server 的任何内容。

这将有助于减轻 SQL Server 消耗所有服务器的 RAM。

于 2009-08-17T18:50:31.990 回答
2

请注意,总服务器内存不是 SQL Server 当前使用的内存量。

请参阅这篇 Microsoft 文章:http: //msdn.microsoft.com/en-us/library/ms190924.aspx

于 2011-03-18T11:48:23.363 回答
0

进入管理工作室并运行sp_helpdb <db_name>,它将给出指定数据库的详细磁盘使用情况。在没有任何参数值的情况下运行它将列出实例中所有数据库的高级信息。

于 2010-09-14T17:43:26.683 回答
-2

如果您具有 RDP 访问权限/控制台访问权限,查看 ram 使用情况的最简单方法是启动任务管理器 - 单击进程 - 显示所有用户的进程,按 RAM 排序 - 这将为您提供 SQL 的使用情况。

如上所述,要减小大小(立即生效,无需重新启动)启动 sql management studio,单击服务器,属性 - 内存并减小最大值。没有完全完美的数字,但请确保服务器有空闲的内存用于其他任务。

关于 perfmon 的答案是正确的,应该使用,但它们不像任务管理器恕我直言那样明显。

于 2010-11-19T03:22:25.420 回答
-6
  1. 开始 -> 运行 -> perfmon
  2. 查看 SQL Server 安装的无数计数器
于 2009-08-17T18:27:18.870 回答