.NET(C#):監控CPU使用狀況

來源:互聯網
上載者:User

目錄

  • 1. 進程的CPU使用者時間和核心程式的時間
  • 2. 全部CPU的使用統計
  • 3. 原始碼下載

 

返回目錄

1. 進程的CPU使用者時間和核心程式的時間

使用Process類的UserProcessorTime和PrivilegedProcessorTime屬性可以返回當前進程所耗費CPU的使用者和核心程式的時間。Process.TotalProcessorTime則代表兩者之和。它們都返回TimeSpan結構體對象。

 

使用這三個屬性,可以做一個簡單的程式進行進程的CPU時間監控。

如下:(當然在CPU不是很慢的情況下,進行某個操作後不會看到明顯的CPU時間增加)

 

 

 

 

返回目錄

2. 全部CPU的使用統計

統計全部CPU的使用狀況,最簡單的方法就是使用Windows的工作管理員程式。但預設是只顯示“非空閑”執行時間的百分比。在Windows 7工作管理員視圖菜單裡有“顯示核心程式的時間”這一項,這樣的話,使用者時間和核心程式的時間就區分開了。核心程式的時間是紅色部分,如:

 

 

在編程上,使用效能計數器可以進行更詳細的CPU時間監控。比如下面自己做一個CPU使用監控的程式:

 

 

使用的效能計數器是Processor類中的:

  • % Idle Time: 代表空閑
  • % Interrupt Time: 代表處理硬體中斷
  • % User Time: 代表處理使用者指令
  • % Privileged Time: 代表作業系統核心指令
  • % Processor Time: 代表所有非空閑時間(也是工作管理員預設顯示的)

(所有上面的效能計數器返回百分比!)

 

你可以在控制台的效能監控器中查看這些資訊(或者在運行中鍵入:perfmon)

 

 

最後需要注意的一點就是PerformaceCounter類(System.Diagnostics命名空間內)的GetNextValue方法進行下一個值的擷取步驟時,雖然該方法返回float,但這個百分比時是已經規格化好的,從0.0到100.0的,而不是0.0到1.0的。

 

返回目錄

3. 原始碼下載

目前的版本的程式和原始碼下載

下載頁面

注意:連結是微軟SkyDrive頁面,下載時請用瀏覽器直接下載,用某些下載工具可能無法下載

原始碼環境:Visual C# Express 2010

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.