CPU是server中最重要的资源。在数据库server中,CPU的使用情况应该时刻监控以便SQLServer一直处于最佳状态。
本文将会使用可靠性和性能监视器来获取CPU相关的使用统计信息
可靠性和性能监视器是过去性能监视器工具的加强版。同一时候拥有性能监视器的所有功能。
性能计数器提供对各种系统活动的统计功能。能够找到有数百种性能计数器来针对Windows操作系统或者第三方应用程序的性能。SQLServer相同有数百个性能计数器供DBA使用。
在本文中,我们将跟踪下列相关CPU性能计数器的数据:
在開始之前,须要先了解Processor:%Processor Time和System: Processor Queue Length相关的知识。
Processor:%ProcessorTime:提供被一个线程使用的CPU时间的百分比。假设在系统中有多个CPU或者CPU内核。你将会看到在这个实例上有多个计数器。
System:Processor Queue Length:显示有多少个线程在等待CPU使用。
1、 打开可靠性和性能监视器:在【执行】中输入perfmon.exe。
2、 打开后,选择性能监视器。如图:
3、 在工具栏中按delete或者点击Xbutton删除全部性能计数器。然后点击+button来添加计数器。
4、 在加入计数器对话框中,输入须要监控的计算机名或者使用本地计算机<Local computer>。
5、 打开Processor并选择%Processor Time。
6、 然后如图所看到的把计数器加入到监视器中:
7、 反复上面步骤把另外一个计数器加入进去,这个计数器在System→ProcessorQueue Length:
留意一下这个计数器是没有选择实例的。
8、 在加入完成之后,结果例如以下,然后点击确定:
9、然后能够看到下图的结果:
使用可靠性和性能监视器中的性能计数器是很直观的。注意图形化界面的结果,这些结果是以秒为单位的,实时显示。在图的中部部分,有【最新】、【平均】、【最大】、【最小】、【持续时间】这几个数值。
假设你发现Processor:%Processor Time的平均值持续处于80而且System:Processor Queue Length持续超过2,可能意味着CPU不够快来处理server上的进程,此时须要升级CPU或者加入CPU。