服务器上的mssql的CPU使用率高(95-99%)

我们的服务器运行win2003与mssql 2005在2GB内存相同的框。 该网站本身是基于dnn 4.我们看到这些高cpu使用率峰值(mssql)95-99%,即使没有stream量,有时他们没有stream量定期出现。

什么可能导致这个? 如何find根本原因?

您是否在DNN中打开了内容索引? 它可能是DNN运行您的网站内容的索引。 这种索引是在后台执行的,通常会在您没有其他stream量活动触发数据库的时候发生。

我build议在你的数据库上设置一个SQL Server Profiler跟踪,看看在这个秒杀时间里发生了什么。

在CPU使用率很高的时期,您需要跳出框并使用活动监视器,或input类似sp_who2的内容。 同时检查SQL Server代理作业的计划时间,并查看是否相关。 这会让你知道谁在做什么。

Squillman提出的使用Profiler的build议是很好的build议,尤其是在无人值守的情况下进行监视 – 稍后再回头看看发生了什么事情。

  1. 检查运行的SQL代理作业。
  2. 请检查以确保您没有为任何数据库启用自动缩小function。
  3. 如果服务器不专用于SQL,请确保将内存configuration设置为为其他进程保留RAM。
  4. Profiler / sp_who像其他人所build议的那样。 小心Profiler,如果你捕获了太多的信息,它可以更强调压力更大的服务器。