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