性能分析
监视内存计数器
要监视内存不足的状况,请从以下的对象计数器开始: 内存信息: Memory\ Available Bytes Memory\ Pages/sec Memory\ Available Bytes 如果您怀疑有内存泄露,请监视 Memory\Available Bytes 和 Memory\ Committed Bytes,以观察内存行为,并监视您认为可能在泄露内存的进程的 Process\ Private Bytes、Process\ Working Set 和Process\ Handle Count。如果您怀疑是内核模式进程导致了泄露, 则还应该监视 Memory\ Pool Nonpaged Bytes、Memory\ Pool Nonpaged Allocs 和 Process(process_name)\ Pool Nonpaged Bytes。 CPU信息: Processor\ % Processor Time 获得处理器使用情况。 也可以选择监视 Processor\ % User Time 和 % Privileged Time 以获得详细信息。 Server Work Queues\ Queue Length 计数器会显示出处理器瓶颈。队列长度持续大于 4 则表示可能出现处理器拥塞。 System\ Processor Queue Length 用于瓶颈检测 通过使用 Process\ % Processor Time 和 Process\ Working Set Process\ % Processor Time过程的所有线程在每个处理器上的处理器时间总和。 硬盘信息: Physical Disk\ % Disk Time Physical Disk\ Avg.Disk Queue Length 例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。 Physical Disk\ % Disk Time Physical Disk\ Avg.Disk Queue Length 例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。 请观察 Processor\ Interrupts/sec 计数器的值,该计数器测量来自输入/输出 (I/O) 设备的服务请求的速度。如果此计数器的值明显增加,而系统活动没有相应增加,则表明存在硬件问题。 Physical Disk\ Disk Reads/sec and Disk Writes/sec Physical Disk\ Current Disk Queue Length Physical Disk\ % Disk Time LogicalDisk\ % Free Space 测试磁盘性能时,将性能数据记录到另一个磁盘或计算机,以便这些数据不会干扰您正在测试的磁盘。 可能需要观察的附加计数器包括 Physical Disk\ Avg.Disk sec/Transfer、Avg.Disk Bytes/Transfer,和 Disk Bytes/sec。 Avg.Disk sec/Transfer 计数器反映磁盘完成请求所用的时间。较高的值表明磁盘控制器由于失败而不断重试该磁盘。这些故障会增加平均磁盘传送时间。对于大多数磁盘,较高的磁盘平均传送时间是大于 0.3 秒。 也可以查看 Avg.Disk Bytes/Transfer 的值。值大于 20 KB 表示该磁盘驱动器通常运行良好;如果应用程序正在访问磁盘,则会产生较低的值。例如,随机访问磁盘的应用程序会增加平均 Disk sec/Transfer 时间,因为随机传送需要增加搜索时间。 Disk Bytes/sec 提供磁盘系统的吞吐率。 决定工作负载的平衡 要平衡网络服务器上的负载,需要了解服务器磁盘驱动器的繁忙程度。使用 Physical Disk\ % Disk Time 计数器,该计数器显示驱动器活动时间的百分比。如果 % Disk Time 较高(超过 90%),请检查 Physical Disk\ Current Disk Queue Length 计数器以查看正在等待磁盘访问的系统请求数量。等待 I/O 请求的数量应当保持在不大于组成物理磁盘的主轴数的 1.5 到 2 倍。 尽管廉价磁盘冗余阵列 (RAID) 设备通常有多个主轴,大多数磁盘有一个主轴。硬件 RAID 设备在“系统监视器”中显示为一个物理磁盘;通过软件创建的 RAID 设备显示为多个驱动器(实例)。可以监视每个物理驱动器(而不是 RAID)的 Physical Disk 计数器,也可以使用 _Total 实例来监视所有计算机驱动器的数据。 使用 Current Disk Queue Length 和 % Disk Time 计数器来检测磁盘子系统的瓶颈。如果 Current Disk Queue Length 和 % Disk Time 的值始终较高,可以考虑升级磁盘驱动器或将某些文件移动到其他磁盘或服务器。 影响服务器性能的四个主要子系统:
什么是性能计数器?
应用举例:
由于每个人实际操作的应用程序不可能一样,比如有些人要运行3DMAX、Photoshop等这样的大型程序,而有些人可能只是打打字、玩些小游戏,所以对虚拟内存的要求并不相同,于是我们就要因地制宜地精确设置虚拟内存空间的数值。 ①先将虚拟内存自定义的“初始大小”、“最大值”设为两个相同的数值,比如500MB; ②然后依次打开“控制面板→管理工具→性能”,在出现的“性能”对话框中,展开左侧栏目中的“性能日志和警报”,选中其下的“计数器日志”,在右侧栏目中空白处点击右键,选择右键菜单中的“新建日志设置”选项; ③在弹出的对话框“名称”一栏中填入任意名称,比如“虚拟内存测试”。在出现窗口中点击“添加计数器”按钮进入下一个窗口; ④在该窗口中打开“性能对象”的下拉列表,选择其中的“Paging File”,勾选“从列表中选择计数器”,并在下方的栏目中选择“%Usage Peak”;勾选“从列表中选择范例”,在下方的栏目中选择“_Total”,再依次点击“添加→关闭”结束(图1)。
⑥在右侧栏目中可以发现多了一个“虚拟内存测试”项目,如果该项目为红色则说明还没有启动,点击该项,选择右键菜单中的“启动”选项即可(图2)。 接下来运行自己常用的一些应用程序,运行一段时间后,进入日志文件所在的系统分区下默认目录“PerfLogs”,找到“虚拟内存测试_000001.csv”并用记事本程序打开它(图6),在该内容中,我们查看每一栏中倒数第二项数值,这个数值是虚拟内存的使用比率,找到这项数值的最大值,比如图中的“46”,用46%乘以500MB(前面所设定的虚拟内存数值),得出数值为230MB。 用该数值可以将初始大小设为230MB,而最大值可以根据磁盘空间大小自由设定,一般建议将它设置为最小值的2到3倍。这样我们就可以将虚拟内存打造得更精准,使自己的爱机运行得更加流畅、更具效率了 |
|