2013-07-09 3 views
1

내 ASP.NET 솔루션에서 다음과 같은 시스템 정보를 모니터링하고 싶습니다 :ASP.NET에서 컴퓨터의 CPU, 메모리 및 디스크 사용을 모니터링하는 방법은 무엇입니까?

  • 현재 CPU 사용량 (퍼센트) (무료/총)
  • 사용 가능한 디스크 공간
  • 가능한 메모리 * (무료/

* 내가 윈도우 성능 모니터 (실행으로 시도 전체 시스템

을 사용할 전체 메모리를 의미 참고) 총 -> perfmon.msc를)하지만, 내가 찾고있는 것 같지 않아. 내 응용 프로그램에 호출 된 모든 함수 또는 메서드에 대한 리소스로드를 알 수있는 무언가가 필요합니다.

모든 의견을 보내 주시면 감사하겠습니다.

편집 : 는 어쩌면 성능 모니터와 함께 모니터링하는 방법을 알고 도움이 될 수는

편집 편집 (istance의 W3WP에 대한) 하나의 프로세스에 의해 cosumed은 % 처리 시간 : 나는 그것을 발견! w3wp에서 새로운 카운터 -> 프로세스 -> % Processor Time을 추가하십시오! 감사합니다

답변

0

성능 카운터는 나의 충고입니다. - 무료 을

+0

귀하의 기사를 읽었습니다. "% 프로세서 시간"또는 다른 카운터를 실행중인 응용 프로그램과 연결하는 방법을 이해하는 데 도움이됩니다. – parentissimo

+0

'PerfMon'을 다운로드하셨습니까? –

+0

기사에서 제안한 설정으로 지금 시도하고 있습니다. – parentissimo

0

PERFO rmance 카운터는 응용 프로그램의 프로파일 링을 원할 경우 선택할 수 있습니다.

그러나 일반적인 용도의 시스템 정보로 사용하려면 WMI를 참조하십시오.

: 저는 여기에 디스크 정보를 얻기 위해 이전에 사용 된 샘플입니다 당신은 내가 GB로 변환 할 수있는 디스크 공간을 구분 한 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 

사항에 대한 참조가 필요합니다 .