日期:2014-05-16  浏览次数:20480 次

【SQL Server DBA】日常巡检2:windows性能监控器

性能监视器的各类指标


一、内存指标

1、Windows层面上的内存使用检查

在检查SQL Server内存使用之前,DBA必须首先检查一下Windows层面的内存使用情况。
Windows层面没有明显的内存压力,是SQL Server正常运行的前提。

需要检查的有:
1.Windows系统自身内存使用数量、内存分布,Windows是否有内存压力,以及压力是否比较严重。
2.DBA还要检查服务器上每一个进程的内存使用情况,俩接哪些进程用的内存最多,哪些进程有内存压力。
3.还应该对照这些进程和Windows系统,分析它们是否相互影响。

在完成了这些检查,DBA才能确认是SQL Server是否存在来自SQL Server外部的内存压力。
这些工作可以用Windows的性能监视器Performance Monitor来完成。

下面会说明Windows系统内存使用的、单个进程内存使用的一些性能计数器Performance Counter。
针对一些指标也会有它们的阀值。但需要注意的是,仅仅通过一两个性能指标,就断定问题所在是比较危险的,常常会得到相反的结论。很多性能指标是相互联系的、相互影响的。需要对比这些值的变化趋势、以及相互作用,才能得到正确的结论。


2、Windows系统使用情况
    对Windows系统,主要从3个角度分析内存的使用。
1.整体使用分析.
(1)Committed Bytes = 物理内存 + 分页文件大小。
  整个Windows系统,包括Windows自身,以及所有用户进程使用的内存总数,
  包括物理内存里的数据和文件缓存中的数据。

(2)Commit Limit = 物理内存 + 分页文件大小。
  整个Windows系统能够申请的最大内存数,其值等于物理内存加上文件缓存的大小。
  如果Committed Bytes已经接近或者等于Commit Limit,说明系统的内存使用已经接近极限。
  如果缓存文件不能自动增长,系统将不能提供更多的内存空间。

(3)*Available MBytes = 空闲物理内存。
  现在系统空闲的物理内存数。这个指标能够直接反映出Windows层面上有没有内存压力。 

(4)Page File:%Usage 和 Page File:%Peak Usage,分页文件使用量。
  反应缓存文件使用量的多少。数据在文件缓存中存的越多,说明物理内存数量和实际需求量的差距越大,
  性能也越差。

(5)*Pages/sec = 每秒从磁盘读取/写入的页面数 = 每秒从磁盘读取的页数 + 每秒从向磁盘写入的页数。
    Hard Page Fault每秒种需要从磁盘上读取或写入的页面的数目。这包括Windows系统、所有应用进程的,所有磁盘Paging操作,是Memory:Pages Input/sec 和 Memory:Pages Output/sec的和。
  
  实际上,还有一个指标是Memo