我正在尝试使用内存性能计数器:
System.Diagnostics.PerformanceCounter theMemCounter =
new System.Diagnostics.PerformanceCounter("Memory", "Available MBytes",
System.Diagnostics.Process.GetCurrentProcess().ProcessName, true);
var memStart = theMemCounter.NextValue();
但在第二行我收到以下错误:
Counter is single instance, instance name 'WebDev.WebServer40' is not valid for this counter category.
有什么问题?
答案 0 :(得分:2)
Ottoni,我认为你不能为这个特定的性能计数器指定一个进程,因为它监视整个系统的可用内存。
也许您正在寻找的perfcounter是“.NET CLR内存(INSTANCE)#Bytes in all Heaps”或.NET CLR Memory类别中的其他一些,它能够监视所有或指定的内存使用情况。净申请。
此处有关此类别的更多信息:http://msdn.microsoft.com/en-us/library/x2tyfybc.aspx
- 编辑
<强>解决方案:强>
System.Diagnostics.PerformanceCounter theMemCounter =
new System.Diagnostics.PerformanceCounter("Process", "Working Set",
System.Diagnostics.Process.GetCurrentProcess().ProcessName);
var memStart = theMemCounter.NextValue() / 1024 / 1024;