分享

windows性能分析

 小德德德 2011-03-30
性能分析
监视内存计数器
要监视内存不足的状况,请从以下的对象计数器开始:
内存信息:
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 的值始终较高,可以考虑升级磁盘驱动器或将某些文件移动到其他磁盘或服务器。
 

影响服务器性能的四个主要子系统:


内存、处理器、磁盘和网络

 

什么是性能计数器?
操作系统中内置了各种性能对象,如内存、 处理器、 磁盘、 网络等。
每个性能对象都提供了性能计数器。
性能计数器是于度量性能的各个方面。
如:Memory对象中的Pages/sec计数器可以跟踪记录内存页面调度的速度


什么是计数器日志?
计数器日志可以用于选择收集性能数据的计数器。
使用“性能日志和警报”来创建计数器日志。
计数器日志是按照指定的性能对象、计数器和时间间隔记录硬件资源和系统服务的采样数据。


监视内存系统的计数器:
Pages/sec——被请求页面的数量。
Available Bytes——可用物理内存的数量。
Committed Bytes——已分配给物理 RAM 用于存储或分配给页面文件的虚拟内存。
Pool Nonpaged Bytes——未分页池系统内存区域中的 RAM 数量。
Page Faults/sec——是每秒钟出错页面的平均数量。


监视处理器的计数器:
% Processor Time——测量处理器繁忙的时间
System: Processor Queue Length——处理器请求队列中请求的数量
Server Work Queues: Queue Length——选中的处理器的队列中请求的数量。
Interrupts/sec——处理器正在处理的来自应用程序或硬件的中断的数量


监视磁盘的计数器:
% Disk Time——指示所选磁盘驱动器忙于为读取或写入请求提供服务所用的时间的百分比。
Current Disk Queue Length——指示被挂起的磁盘 I/O 请求的数量。如果这个值始终高于 2,就表示产生了拥塞
Avg.Disk Bytes/Transfer——写入或读取操作时向磁盘传送或从磁盘传出字节的平均数。
Disk Bytes/sec——在读写操作中,从磁盘传出或传送到磁盘的字节速率。
LogicalDisk \% Free Space


监视网络的计数器:
Network Interface:Bytes Sent/sec——使用本网络适配器发送的字节数
Network Interface:Bytes Total/sec——使用本网络适配器发送和接收的字节数。
Server:Bytes Received/sec——把此计数器与网络适配器的总带宽相比较,确定网络连接是否产生瓶颈。

 

应用举例:


精确设置设置虚拟内存

由于每个人实际操作的应用程序不可能一样,比如有些人要运行3DMAX、Photoshop等这样的大型程序,而有些人可能只是打打字、玩些小游戏,所以对虚拟内存的要求并不相同,于是我们就要因地制宜地精确设置虚拟内存空间的数值。

①先将虚拟内存自定义的“初始大小”、“最大值”设为两个相同的数值,比如500MB;

②然后依次打开“控制面板→管理工具→性能”,在出现的“性能”对话框中,展开左侧栏目中的“性能日志和警报”,选中其下的“计数器日志”,在右侧栏目中空白处点击右键,选择右键菜单中的“新建日志设置”选项;

③在弹出的对话框“名称”一栏中填入任意名称,比如“虚拟内存测试”。在出现窗口中点击“添加计数器”按钮进入下一个窗口;

④在该窗口中打开“性能对象”的下拉列表,选择其中的“Paging File”,勾选“从列表中选择计数器”,并在下方的栏目中选择“%Usage Peak”;勾选“从列表中选择范例”,在下方的栏目中选择“_Total”,再依次点击“添加→关闭”结束(图1)。


⑤为了能方便查看日志文件,可打开“日志文件”选项卡,将“日志文件类型”选择为“文本文件”,最后点击“确定”按钮即可返回到“性能”主界面;

⑥在右侧栏目中可以发现多了一个“虚拟内存测试”项目,如果该项目为红色则说明还没有启动,点击该项,选择右键菜单中的“启动”选项即可(图2)。

接下来运行自己常用的一些应用程序,运行一段时间后,进入日志文件所在的系统分区下默认目录“PerfLogs”,找到“虚拟内存测试_000001.csv”并用记事本程序打开它(图6),在该内容中,我们查看每一栏中倒数第二项数值,这个数值是虚拟内存的使用比率,找到这项数值的最大值,比如图中的“46”,用46%乘以500MB(前面所设定的虚拟内存数值),得出数值为230MB。

用该数值可以将初始大小设为230MB,而最大值可以根据磁盘空间大小自由设定,一般建议将它设置为最小值的2到3倍。这样我们就可以将虚拟内存打造得更精准,使自己的爱机运行得更加流畅、更具效率了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多