分享

PerfMon 示例:说明如何使用性能计数器监视系统性能

 浸心阁 2015-05-29

PerfMon 示例是对性能计数器的介绍。它说明如何监视本地系统或远程系统的性能。它还说明如何动态地创建计时器、上下文菜单和图形显示区。它还说明下列活动:

包括从其他组件派生的新 C# 类。

动态地添加和移除事件处理程序和组件。

使用 TreeView 控件、TreeNode 类和 Timer 组件。

使用 PerformanceCounterCategory 和 PerformanceCounter 组件。

有关性能计数器的更多信息,请参见 PerformanceCounter 类。注意   此示例只能在 Windows NT 4.0 和 Windows 2000 及更高版本上运行。

生成并运行示例

生成并运行此示例

打开解决方案 PerfMon.sln。

从“生成”菜单中,单击“生成解决方案”。

在“调试”菜单中,单击“开始执行(不调试)”。

将出现主应用程序窗口。

下图显示了正在运行的性能监视器程序。在执行各种性能监视的过程中,必要时请参考该图。

性能监视器

显示面板的属性

该图中的每个图形显示区显示下列内容:

显示区的顶端显示计数器的名称和实例的名称,由“***”分开。如果某个类别不包含实例名称(例如,ICMP 类别),那么“***”后面跟一空格。

显示区的底部显示当前计数器的值。此值可能周期性地变化(默认值是每隔一秒)。

显示区的右边显示一个红条。红条的高度取决于计数器上监视到的最后一个值。

显示区上绘制的图形显示该计数器的性能历史。

加载系统的性能计数器

该应用程序是一个 MDI 应用程序。它启动时带有四个窗口,可用来监视四台计算机。通过单击“选项”菜单上的“新建 Perfmon”命令,可以打开任意多个窗口。在下面的过程中,只使用一个窗口。因此,除了一个窗口之外,您可以关闭其他所有窗口。

在“计算机名”字段中,键入要监视的系统的名称。如果不键入任何值,将监视本地计算机。

单击“加载计数器”按钮(或按 Alt+L)。应用程序将在指定的计算机上加载 PerformanceCounterCategory、InstanceName 和 PerformanceCounter 组件。在系统上的所有计数器完成加载之前,“加载计数器”按钮一直被禁用。

左边窗格中的树视图将包含可用的所有性能类别和性能计数器。树中的每一叶都代表一个性能计数器。可以通过监视应用程序窗口底部的进度指示器来监视完成的进度。在树完成之后,将再次启用“加载计数器”按钮。注意   若要监视特定的计算机,需要有该计算机的管理员权限;否则,PerformanceCounterCategory 组件将无法加载类别(安全保护)。

监视系统的性能

执行前面的步骤,加载性能计数器。

展开相应的类别节点,选中一个计数器。例如,若要监视处理器的性能,请展开“处理器”节点,然后选择一个“处理器”实例(例如,“_Total”或“0”)。同时还展开实例节点查看计数器。

在叶级别,计数器由复选框表示。选择一个计数器,例如“%处理器时间”。一个名为“处理器”的选项卡将出现在右窗格中,并且所选计数器的图形显示区将出现在选项卡页上。

若要从选项卡页移除特定图形显示区,请清除相应计数器的复选框。当特定页中的所有计数器都被清除后,相应的选项卡就会消失。

管理显示属性注意   每次更改任何显示属性后,请单击“刷新显示”按钮以应用更改。这些更改将应用于当前或将来的显示。

若要更改线条粗细,请从“线条粗细”框中选择您想要的粗细。

若要更改每次显示的行数,请从“行”框中选择您想要的数字。例如,选择一行将使显示内容占满整个选项卡的页面高度。

若要更改每次显示的列数,请从“列”框中选择您想要的数字。例如,选择一列将使显示内容占满整个选项卡页面的宽度。注意   如果图形显示内容的数量超过了选项卡页面的可见区域,将自动创建滚动条。

若要更改时间间隔,请从“频率”框中选择秒数。

若要更改图形中要显示的点数,请从“密度”框中选择数字。

合并两个或多个显示区

拖动要移动的显示区并将它置于目标显示区中。注意,当选中目标显示区并已准备好接收移动的显示区时,它的背景将变黑。两个显示区将合并,并且图形上将出现两种不同的颜色(在这种情况下是红色和绿色)。例如,如果将“%处理器时间 *** _total”拖放到“%用户时间 *** _total”上,那么绿色代表第一个,红色代表第二个。显示区的顶端、底部和右边显示的数据只代表“%处理器时间 *** _total”计数器。

若要在显示区合并之后从一个图形切换到另一个图形,请右击显示区并从快捷菜单中选择图形的名称。在前面的例子中,如果要将显示数据从“%处理器时间 *** _total”更改为“%用户时间 *** _total”,则请右击显示区并从快捷菜单中选择“%用户时间 *** _total”。显示区将显示所选计数器的数据,右边的条的颜色变为红色(或者代表选中的计数器的颜色)。

如果合并了多个计数器,那么每个计数器将由不同的颜色表示。若要选择任何一个计数器的数据视图,请执行前面的步骤。

分离两个或多个合并的显示区

找到要分离的显示区的计数器复选框。

清除该计数器的复选框。相应的显示区将被移除。

再次选中该计数器的复选框。一个新的显示区将出现在选项卡页面上。

使用菜单选项

若要停止图形绘制:

图形将冻结,不再绘制任何线条。

单击“选项”菜单(或按 ALT+O)。

单击“停止图形”。

若要重新启动图形绘制:

显示区将从上一个位置继续绘制。

单击“选项”菜单。

单击“启动图形”。

若要退出应用程序:

单击“选项”菜单。

单击“退出”。

类和关键字

此示例说明以下类:

System.Windows.Forms.Form、System.Windows.Forms.TabControl、System.Windows.Forms.TabPage、System.Windows.Forms.Panel、System.Windows.Forms.ProgressBar、System.Windows.Forms.TreeView、System.Windows.Forms.TreeNode、System.Windows.Forms.MouseButtons、System.Windows.Forms.ContextMenu、System.Windows.Forms.MenuItem、System.Collection.HashTable、System.Drawing.Color、System.Drawing.Graphics、System.Diagnostics.PerformanceCounterCategory、System.Diagnostics.PerformanceCounter

此示例说明以下关键字:

PerformanceCounterCategory、PerformanceCounter、Graphics、GraphicTab、HashTable、DisplayPanel、ContextMenu、MenuItem、Draw、Color、TreeView、TreeNode、ProgressBar、TabControl、TabPage

请参见

Visual C# 示例 | 通用示例 | Windows 窗体:性能监视器示例 (Visual Basic)

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多