资源监视器提供一个快速、实时及图形化界面来显示包括CPU、内存、I/O和网络使用情况的信息,可以监视和检查所有当前运行在机器上的进程的这部分信息。并可以通过这个工具来结束你认为对性能有潜在风险的进程。
当用户反应SQLServer所在的服务器响应速度非常慢时,将优先使用什么工具来快速查看服务器性能?
在过去,可能会使用任务管理器来实现,但是在今天,可以使用更强大的工具来查看服务器资源。也就是资源监视器。
本文将给出一个如何使用资源监视器来监控硬件资源及服务器性能的快速入门。
准备工作:
1、 开发版或者企业版的SQLServer2008、2012。
2、 安装在Windows操作系统上的资源监视器。从Windows Server 2008R2或者Windows7以后才出现。
3、 微软示例数据库AdventureWorks。
演示步骤:
1、 打开资源监视器,方法:在【运行】中输入resmon.exe或者用快捷键Windows+R来输入。
2、 通过下图可以看到资源监视器有5个选项页。第一个为概述页。可以查看服务器的整体性能。
3、 如果想查看SQLServer服务所使用的CPU情况,可以点击第二个选项页【CPU】,并找到进程名为:sqlservr.exe的那一行。点击第一个窗口之后,下面的窗口会显示出相应的资源。如图:
4、 如果想查看SQLServer使用的内存情况,可以使用步骤3中的方法,在第三个选项页【内存】中查看,如图:
5、 如果要检查服务器上活动的磁盘I/O,可以选择选项页【磁盘】,因为在前面已经选择了sqlservr.exe进程,所以这个页面显示的将会是SQLServer服务所引起的I/O活动。可以连到SSMS中,输入以下脚本:
- USE AdventureWorks
- GO
- SELECT *
- FROM Sales.SalesOrderDetail WITH ( NOLOCK )
- GO
6、 马上切换回资源监视器。将会看到有I/O操作作用于AdventureWorks数据库文件上,如图:
分析:
本文中直观地展示了资源监视器的使用,资源监视器提供了CPU、内存、磁盘IO、网络方面的资源使用情况信息,它分成5个部分来展示相关信息:
1、 概述:提供了其他4个选项页中包含的服务器资源信息。当你发现产生性能问题的进程后,可以从这里结束掉。
2、CPU:这个选项页提供CPU使用的百分比信息,也显示在概述页中显示的每个进程的详细CPU信息。并可以看到对应进程的服务、关联句柄及关联模块。在右边,还能看到试试的图形化的所有可用CPU的实时情况。如果你找到CPU使用率非常高,就应该检查是什么使用着这些CPU资源。
3、内存:这个选项页显示内存使用情况。可以找到系统有多少内存、多少内存已经在使用、多少内存空闲。还提供了每个进程的内存消耗情况。资源监视器的最大优势是可以通过勾选特定进程来获取相应的资源信息。
4、磁盘:这个选项页是显示各个进程对应的磁盘I/O活动,通过Read(B/Sec)和Write(B/Sec)列,可以看到特定进程的IO情况。同时也可以看到某些文件上的IO活动。右边显示当前IO的实时情况。
5、 网络:显示出当前网络使用情况。可以看到所有TCP连接所对应的不同的进程,也可以筛选特定进程。
扩展信息:
通过使用资源监视器,可以快速定位消耗硬件资源的进程。同时可以查看网络方面的瓶颈。在SQLServer生产环境中,如果你发现某些进程、应用程序耗费的资源比SQLServer还多,并已经影响到SQLServer的性能,你可以考虑把这些经常或者应用程序移到别的服务器,以使得SQLServer的性能不会收到太大的影响。
--本篇文章转自:黄钊吉的博文