SQL Server 2008 CPU 使用率达到 100% - 需要故障排除帮助吗?

SQL Server 2008 CPU 使用率达到 100% - 需要故障排除帮助吗?

我有一台功能相当强大的数据库服务器,安装了 SQL Server 2008 R2。它上面只有一个数据库,由 2 台服务器(大约 5/6 个应用程序)访问。问题是,一旦应用程序开始指向数据库,系统的 CPU 使用率就会上升到 100%,而 sqlserver 本身的 CPU 使用率则高达 95% 以上。

我检查了分析器,那里没有运行任何繁重的查询。我检查了活动连接,它们几乎不到 150 个。但 CPU 使用率仍然在 100% 左右,并且应用程序响应缓慢/与数据库服务器的连接被拒绝。

数据库 grus,我确实需要一些想法。

答案1

我还会查看 sys.dm_os_wait_stats 以了解服务器正在等待什么。

如果一些查询确实占用了如此多的 CPU,我怀疑存在大量并行执行。这是需要注意的。

答案2

当您查看分析器时,应该有一个 CPU 列。列中值最高的查询是使用大量 CPU 时间的查询。还可以找到 sp_whoisactive 并将其放在机器上。当您运行它时,它会向您显示运行时花费大量时间和 CPU 的查询。

答案3

您是否定期对数据库进行维护,例如备份、更新统计数据、重建索引?我曾见过严重碎片化的数据库导致您所描述的性能问题。

相关内容