1

ASP.NET ソリューションで次のシステム情報を監視したいと考えています。

  • 現在の CPU 使用率 (パーセント)
  • 利用可能なメモリ* (空き/合計)
  • 利用可能なディスク容量 (空き/合計)

*システム全体で利用可能な全体的なメモリを意味することに注意してください

Windows perfmon (run --> perfmon.msc ) を試しましたが、探しているものではないようです。アプリケーションに呼び出されるすべての関数またはメソッドのリソース負荷を教えてくれるものが必要です。

どんな提案でも大歓迎です。

編集: perfmon を使用して、単一のプロセス (たとえば w3wp) によって消費される処理時間の割合を監視する方法を知っておくと役立つ場合があります。

編集編集:見つけました!新しいカウンターを追加 --> プロセス --> w3wp の % Processor Time! ありがとう

4

2 に答える 2

0

アプリケーションのプロファイリングにパフォーマンス カウンターが必要な場合は、パフォーマンス カウンターを選択します。

ただし、汎用のシステム情報として使用する場合は、WMI を検討することをお勧めします。これは、ディスク情報を取得するために以前に使用したサンプルです。

:への参照が必要になりますSystem.Management

Dim scope As ManagementScope = New ManagementScope("\\.\root\CIMV2")
scope.Options.Impersonation = ImpersonationLevel.Impersonate
scope.Options.EnablePrivileges = True

Dim wmiQuery = "SELECT SystemName, Name, VolumeName, Size, FreeSpace FROM Win32_LogicalDisk WHERE DriveType = 3 "
Dim query As ObjectQuery = New ObjectQuery(wmiQuery)
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(scope, query)

Dim result As New List(Of MyDrive)
For Each systemDrive As ManagementObject In searcher.Get
    Dim diskDrive = New MyDrive
    diskDrive.SystemName = systemDrive("SystemName").ToString
    diskDrive.Name = systemDrive("Name").ToString
    diskDrive.Size = CDec(systemDrive("Size")) / 1073741824
    diskDrive.FreeSpace = CDec(systemDrive("FreeSpace")) / 1073741824
    diskDrive.VolumeName = systemDrive("VolumeName").ToString
    result.Add(diskDrive)
Next

Public Class MyDrive
    Public Property SystemName As String
    Public Property Name As String
    Public Property VolumeName As String
    Public Property Size As Decimal
    Public Property FreeSpace As Decimal
    Public ReadOnly Property PercentFree As Decimal
        Get
            Dim percent As Decimal = 0
            If Size > 0 Then percent = FreeSpace / Size
            Return percent
        End Get
    End Property
End Class

ディスク領域を分割して GB に変換していることに注意してください。

于 2013-07-09T13:45:57.593 に答える
0

パフォーマンスカウンターは私のアドバイスです。ASP.NET のパフォーマンス カウンターの設定を確認してください。

パフォーマンス カウンター以外に、コードの「内部」を確認したい場合は、次のようなメモリ プロファイラーを試すことができます。

于 2013-07-09T13:39:51.540 に答える