Checkpoint和Lazy writer正在消耗更多的CPU,而SQL Server 2012上没有运行任何作业/事务

时间:2018-12-21 13:10:28

标签: sql-server sql-server-2012

我们有一个开发服务器,在该服务器上没有正在运行的作业/事务,但是惰性编写器和检查点正在消耗更多的CPU。这可能是什么原因?请参考以下屏幕截图,并告知任何人。

3 个答案:

答案 0 :(得分:1)

  

懒惰的编写器和检查点正在消耗更多的CPU。

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

下次修改数据库中的某些表时,它们将唤醒并将更改后的数据写入数据库文件。当他们这样做时,他们将消耗一些CPU并执行一些IO,然后再回到睡眠状态,您会发现这些值略有增加。

答案 1 :(得分:0)

人们在博客中写道,哪些等待类型是无害的,可以从性能监视中安全地忽略它们。例如,某些等待类型指示线程池正在轮询工作,但这并不表示存在问题。这是我前一段时间遇到的文章,它是2012年的,但是,它仍然具有相关的信息->

http://thomaslarock.com/2012/05/are-you-using-the-right-sql-server-performance-metrics/

答案 2 :(得分:0)

除非您在compatibility view上,否则不应使用sys.sysprocesses之类的SQL Server 2000。您所指的专栏甚至没有得到很好的记录,也不清楚这些是CPU滴答声还是其他。

您应该使用以下代码:

select session_id, cpu_time
from sys.dm_exec_sessions
where session_id in (4, 15);

对于上面提到的spid,您会发现system processes做得很好。