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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

PerformanceCounter 基本介紹以及示例方法

2019-11-10 18:02:26
字體:
供稿:網(wǎng)友

一 PerformanceCounter 基本介紹

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

二 示例方法:

需要引用命名空間

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

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

2 獲取性能計(jì)數(shù)器類別下的實(shí)例的名稱實(shí)例下的性能計(jì)數(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 調(diào)用方法3顯示cpu使用率

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

三:PerformanceCounterCategory 方法

公共方法

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

受保護(hù)的方法

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

四:PerformanceCounterCategory 構(gòu)造函數(shù)

重載列表

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

五:PerformanceCounterCategory 屬性

公共屬性

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 囊谦县| 贵阳市| 临颍县| 清水县| 阿拉善左旗| 成安县| 玉林市| 都昌县| 台东市| 饶河县| 临沭县| 托克逊县| 樟树市| 蒙城县| 金山区| 定襄县| 连山| 田阳县| 兰考县| 额济纳旗| 呈贡县| 桐乡市| 文昌市| 柳州市| 高要市| 闻喜县| 胶南市| 南陵县| 三都| 建水县| 临泽县| 汝城县| 微山县| 彩票| 白银市| 重庆市| 沙田区| 如皋市| 朝阳市| 中阳县| 金秀|