国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

PerformanceCounter 基本介紹以及示例方法

2019-11-09 20:13:27
字體:
來源:轉載
供稿:網友

一 PerformanceCounter 基本介紹

1 簡單介紹 表示 Windows NT 性能計數器組件 命名空間:System.Diagnostics 程序集:System(在 system.dll 中) 2 構造函數(只介紹本文要用到的) PerformanceCounter (String, String, String) 功能: 初始化 PerformanceCounter 類的新的只讀實例, 并將其與本地計算機上指定的系統性能計數器或自定義性能計數器及類別實例關聯 參數說明: public PerformanceCounter ( string categoryName, string counterName, string instanceName ) categoryName 性能計數器關聯的性能計數器類別(性能對象)的名稱。 counterName 性能計數器的名稱。 instanceName 性能計數器類別實例的名稱,或者為空字符串 (“”)(如果該類別包含單個實例)。

二 示例方法:

需要引用命名空間

using System.Diagnostics;using System.Threading;using System.Collections;

1 獲取性能計數器類別列表 PerformanceCounterCategory 實例的 CategoryName 屬性顯示在“性能查看器”應用程序的“添加計數器”對話框的“性能對象”字段中。 PerformanceCounterCategory 類提供幾種用于與計算機上的計數器和類別交互的方法。Create 方法使您能夠定義自定義類別。Delete 方法提供從計算機移除類別的方法。GetCategories 方法使您能夠查看類別的列表,而 ReadCategory 則檢索與單個類別關聯的所有計數器和實例數據。 性能計數器發布有關應用程序的性能數據。類別包括物理組件(如處理器、磁盤和內存)和系統對象(如進程和線程)。與同一性能對象相關的系統計數器歸入一個指示其共同點的類別。當創建 PerformanceCounter 類的實例時,首先指示該組件將與之交互的類別,然后從該類別中選擇一個計數器。 例如,一個 Windows 計數器類別屬于“Memory”(內存)類別。此類別內的系統計數器跟蹤內存數據,如可用字節數和緩存的字節數。如果要在應用程序中使用緩存的字節,則應創建 PerformanceCounter 組件的實例,將其連接到“Memory”(內存)類別,然后從該類別中選取相應的計數器(在這種情況下,選取“Cached Bytes”(緩存字節))。 雖然系統中有很多可用的計數器類別,但與之交互最頻繁的可能是“Cache”(緩存)、“Memory”(內存)、“Objects”(對象)、“PhysicalDisk”(物理磁盤)、“PRocess”(進程)、“Processor”(處理器)、“Server”(服務器)、“System”(系統)和“Thread”(線程)等類別。

public static void GetCategoryNameList() { PerformanceCounterCategory[] myCat2; myCat2 = PerformanceCounterCategory.GetCategories(); for (int i = 0; i < myCat2.Length; i++) { Console.WriteLine(myCat2[i].CategoryName.ToString()); } }

注:GetCategories()使用時,會報錯“參數“categoryName”的值“”無效?!?/strong>此時 .NET不兼容問題,categoryName在4.0以下,4.5使用不了。

2 獲取性能計數器類別下的實例的名稱實例下的性能計數器的名稱

public static void GetInstanceNameListANDCounterNameList(string CategoryName) { string[] instanceNames; ArrayList counters = new ArrayList(); PerformanceCounterCategory mycat = new PerformanceCounterCategory(CategoryName); try { instanceNames = mycat.GetInstanceNames(); if (instanceNames.Length == 0) { counters.AddRange(mycat.GetCounters()); } else { for (int i = 0; i < instanceNames.Length; i++) { counters.AddRange(mycat.GetCounters(instanceNames[i])); } } for (int i = 0; i < instanceNames.Length; i++) { Console.WriteLine(instanceNames[i]); } Console.WriteLine("******************************"); foreach (PerformanceCounter counter in counters) { Console.WriteLine(counter.CounterName); } } catch (Exception) { Console.WriteLine("Unable to list the counters for this category"); } }

3 根據categoryName,counterName,instanceName獲得性能情況顯示`

private static void PerformanceCounterFun(string CategoryName, string InstanceName, string CounterName) { PerformanceCounter pc = new PerformanceCounter(CategoryName, CounterName, InstanceName); while (true) { Thread.Sleep(1000); // wait for 1 second float cpuLoad = pc.NextValue(); Console.WriteLine("CPU load = " + cpuLoad + " %."); } }

4 調用方法3顯示cpu使用率

PerformanceCounterFun("Processor", "_Total", "% Processor Time");

三:PerformanceCounterCategory 方法

公共方法

名稱 說明
CounterExists 已重載。 確定是否向特定的類別注冊了指定的計數器。
Create 已重載。 向系統注冊自定義性能計數器類別和一個或多個計數器。
Delete 從本地計算機移除類別及其關聯的計數器。
Equals 已重載。 確定兩個 Object 實例是否相等。 (從 Object 繼承)
Exists 已重載。 確定是否在系統上注冊了該類別。
GetCategories 已重載。 檢索計算機上注冊的性能計數器類別的列表。
GetCounters 已重載。 檢索此性能計數器類別中的計數器列表。
GetHashCode 用作特定類型的哈希函數。 (從 Object 繼承)
GetInstanceNames 已重載。 檢索此性能計數器類別中的計數器列表。
GetType 檢索與此類別關聯的性能對象實例列表。
InstanceExists 已重載。 確定該類別是否包含指定的性能對象實例。
ReadCategory 讀取與此性能計數器類別關聯的所有計數器和性能對象實例數據。
ReferenceEquals 確定指定的 Object 實例是否是相同的實例。 (從 Object 繼承)
ToString 返回表示當前 Object 的 String。 (從 Object 繼承)

受保護的方法

名稱 說明
Finalize 允許 Object 在“垃圾回收”回收 Object 之前嘗試釋放資源并執行其他清理操作。 (從 Object 繼承)
MemberwiseClone 創建當前 Object 的淺表副本。 (從 Object 繼承)

四:PerformanceCounterCategory 構造函數

重載列表

名稱 說明
PerformanceCounterCategory () 初始化 PerformanceCounterCategory 類的新實例,讓 CategoryName 屬性保持為空,并將 MachineName 屬性設置為本地計算機。
PerformanceCounterCategory (String) 初始化 PerformanceCounterCategory 類的新實例,將 CategoryName 屬性設置為指定的值,并將 MachineName 屬性設置為本地計算機。
PerformanceCounterCategory (String, String) 初始化 PerformanceCounterCategory 類的新實例,并將 CategoryName 和 MachineName 屬性設置為指定的值。

五:PerformanceCounterCategory 屬性

公共屬性

名稱 說明
CategoryHelp 獲取類別的幫助文字。
CategoryName 獲取或設置定義此類別的性能對象的名稱
CategoryType 獲取性能計數器類別類型。
MachineName 獲取或設置此類別所在的計算機的名稱。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南雄市| 辽宁省| 磴口县| 济南市| 太康县| 蒙城县| 任丘市| 明溪县| 同心县| 稻城县| 彩票| 乌兰察布市| 周至县| 兴安盟| 织金县| 竹山县| 江阴市| 长白| 揭东县| 察雅县| 黄梅县| 三河市| 余江县| 米泉市| 汤原县| 龙门县| 区。| 珲春市| 广汉市| 靖远县| 峡江县| 洪泽县| 潞城市| 视频| 长汀县| 江北区| 苗栗县| 都安| 东海县| 武宁县| 同江市|