首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查找高CPU查询

问如何查找高CPU查询
EN

Database Administration用户
提问于 2016-05-21 10:33:34
回答 1查看 2.8K关注 0票数 4

CPU利用率很高,SQL Server进程消耗了大量CPU。我们运行了很少的查询,并且注意到有一些SPID需要很长时间才能完成,这些查询可能会导致CPU压力过大。是否有任何方法来获取每个SQL Server进程占用大量CPU的查询?

当CPU达到90%以上时,我想发出警告,然后用高消耗的查询发送警报,并在所有的查询中得到确切的警告。我得到了下面的进程,以获得高cpu线程,这是使用CPU更多,但我需要它通过脚本来获取信息。如何通过脚本实现这?

Server 2014

操作系统: Windows 2012 Server

EN

回答 1

Database Administration用户

发布于 2016-05-21 15:30:53

请看(我的)以下答复中的三个主要问题:

Server性能:抢占性_操作系统_DELETESECURITYCONTEXT主导等待型

第一个查询查看当前正在运行的查询。

第二个查询(标记为“查询#1”和“查询#2")结合使用,可以在一段时间内找到高成本的查询。

若要获取警报,请查看太阳风免费WMI监视器或Spiceworks网络监视器等选项。

你需要某种性质的监控软件。这是我在Windows中找到的免费的两个。大多数免费的似乎是针对Unix的,或者至少是基于Unix的。您还可以查看扣篮和萨比克斯。您可以使用我在链接答案中提供的查询,至少可以使用其中一些产品。但是他们应该做“在高CPU上警告X分钟”的事情。

您还可以编写您自己的系统:按计划轮询、调度、将数据存储在Server中、老化旧数据、在可配置的时间框架内计算%差异以及在满足该条件时采取行动。这是更多的工作,因为您现在有更多的代码需要维护(但如果上面的方法对您不起作用,这仍然是一个可行的选择)。

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/139156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档