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

首頁 > 學院 > 開發(fā)設計 > 正文

PerformanceCounter 基本介紹以及示例方法

2019-11-09 20:22:45
字體:
來源:轉載
供稿:網(wǎng)友

一 PerformanceCounter 基本介紹

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

二 示例方法:

需要引用命名空間

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

1 獲取性能計數(shù)器類別列表 PerformanceCounterCategory 實例的 CategoryName 屬性顯示在“性能查看器”應用程序的“添加計數(shù)器”對話框的“性能對象”字段中。 PerformanceCounterCategory 類提供幾種用于與計算機上的計數(shù)器和類別交互的方法。Create 方法使您能夠定義自定義類別。Delete 方法提供從計算機移除類別的方法。GetCategories 方法使您能夠查看類別的列表,而 ReadCategory 則檢索與單個類別關聯(lián)的所有計數(shù)器和實例數(shù)據(jù)。 性能計數(shù)器發(fā)布有關應用程序的性能數(shù)據(jù)。類別包括物理組件(如處理器、磁盤和內存)和系統(tǒng)對象(如進程和線程)。與同一性能對象相關的系統(tǒng)計數(shù)器歸入一個指示其共同點的類別。當創(chuàng)建 PerformanceCounter 類的實例時,首先指示該組件將與之交互的類別,然后從該類別中選擇一個計數(shù)器。 例如,一個 Windows 計數(shù)器類別屬于“Memory”(內存)類別。此類別內的系統(tǒng)計數(shù)器跟蹤內存數(shù)據(jù),如可用字節(jié)數(shù)和緩存的字節(jié)數(shù)。如果要在應用程序中使用緩存的字節(jié),則應創(chuàng)建 PerformanceCounter 組件的實例,將其連接到“Memory”(內存)類別,然后從該類別中選取相應的計數(shù)器(在這種情況下,選取“Cached Bytes”(緩存字節(jié)))。 雖然系統(tǒng)中有很多可用的計數(shù)器類別,但與之交互最頻繁的可能是“Cache”(緩存)、“Memory”(內存)、“Objects”(對象)、“PhysicalDisk”(物理磁盤)、“PRocess”(進程)、“Processor”(處理器)、“Server”(服務器)、“System”(系統(tǒng))和“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()使用時,會報錯“參數(shù)“categoryName”的值“”無效。”此時 .NET不兼容問題,categoryName在4.0以下,4.5使用不了。

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

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

受保護的方法

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

四:PerformanceCounterCategory 構造函數(shù)

重載列表

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

五:PerformanceCounterCategory 屬性

公共屬性

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 东光县| 康保县| 凤城市| 叶城县| 阳新县| 周至县| 腾冲县| 建宁县| 怀宁县| 揭东县| 石泉县| 北安市| 黄石市| 黄山市| 吉木乃县| 察隅县| 邯郸市| 冀州市| 宁海县| 瑞安市| 扎囊县| 尉氏县| 盱眙县| 潢川县| 娱乐| 茶陵县| 凯里市| 阿合奇县| 忻州市| 抚州市| 衡阳县| 新干县| 嘉善县| 图片| 宁陕县| 兰考县| 炉霍县| 藁城市| 沙湾县| 辉县市| 皋兰县|