Sql server 在SQL Server 2012上运行任何作业/事务的情况下,检查点和惰性写入程序正在消耗更多的CPU

Sql server 在SQL Server 2012上运行任何作业/事务的情况下,检查点和惰性写入程序正在消耗更多的CPU,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我们有一个开发服务器,它没有运行任何作业/事务,但是懒惰的编写器和检查点消耗了更多的CPU。这背后的原因可能是什么?请参考下面的屏幕截图并通知任何人 人们在博客中提到了哪些等待类型是无害的,可以安全地从性能监控中忽略。例如,某些等待类型表示线程池正在轮询工作,这并不表示存在不好的情况。这是我不久前看到的一篇文章,它是2012年的,但是,它仍然有相关的信息--> 除非您使用的是SQL Server 2000,否则不应使用兼容性视图s,如sys.sysprocesses。您所指的专栏甚至没有很好的文

我们有一个开发服务器,它没有运行任何作业/事务,但是懒惰的编写器和检查点消耗了更多的CPU。这背后的原因可能是什么?请参考下面的屏幕截图并通知任何人


人们在博客中提到了哪些等待类型是无害的,可以安全地从性能监控中忽略。例如,某些等待类型表示线程池正在轮询工作,这并不表示存在不好的情况。这是我不久前看到的一篇文章,它是2012年的,但是,它仍然有相关的信息-->


除非您使用的是
SQL Server 2000
,否则不应使用
兼容性视图
s,如
sys.sysprocesses
。您所指的专栏甚至没有很好的文档记录,也不清楚这些是cpu滴答声还是smth信号

您应该使用以下代码:

select session_id, cpu_time
from sys.dm_exec_sessions
where session_id in (4, 15);
对于上面提到的
spid
s,您将看到您的
系统进程
运行良好

惰性写入程序和检查点占用更多CPU

不,不是“消费”,“消费”,在过去的某个时候。这些会话目前只是在等待任何工作,而不是消耗任何资源


下次修改数据库中的某些表时,它们将唤醒并将更改的数据写入数据库文件。当他们这样做时,他们将消耗一些CPU并在返回睡眠前执行一些IO,您将看到这些值略微增加。

这些等待可能是无害的,并指示健康状态。SQL Server总是在做一些事情,即使没有负载。我对sys.dm_os_waiting_任务返回的内容更感兴趣。此外,你可以得到更好的答案,如果你在以上-> > SQL Server总是做一些事情,即使没有负载PayAe考虑接受帮助你的答案。SePopic我的意思是意味着上面的查询不是一个很好的指标当前负载。感谢回复@ david browne微软。我的印象是上面的cpu列显示了当前的利用率。非常感谢你打破了这个神话。请您详细解释一下这个资源消耗和资源消耗。我将非常感谢您。对于每个会话,SQL Server都会跟踪总的累积资源利用率。因此,如果您查看已连接18天的会话,您将看到该会话在这18天内消耗的CPU和IO总量。谢谢@david browne microsoft。现在一切都有了意义。