我想在我的ASP.NET解决方案中监视以下系统信息:
*请注意,我的意思是整个系统可用的整体内存
我尝试使用windows perfmon(run - > perfmon.msc)但似乎不是我正在搜索的内容。 我需要能够告诉我调用我的应用程序的每个函数或方法的资源负载。
非常感谢任何建议。
编辑: 也许知道如何使用perfmon监视由单个进程累计的%处理时间(对于istance w3wp)
编辑编辑: 我找到了!添加新计数器 - >过程 - > w3wp上的处理器时间百分比!致谢
答案 0 :(得分:0)
Perfomance计数器是我的建议。查看Setting up performance counters for ASP.NET
除了性能计数器之外,如果你真的希望在内部查看代码,那么你可以尝试使用内存分析器,例如:
答案 1 :(得分: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。