一个进程中创建了n个子appdomain,如何实时取得子Appdomain的cpu使用率 和 内存使用率、线程数?
一个进程中创建了n个子appdomain,如何实时取得子Appdomain的cpu使用率 和 内存使用率、线程数?
我使用下面的方法取得的值似乎不正确。
public static double GetAppDomainCpuUsage(AppDomain hostDomain)
{
if (Process.GetCurrentProcess().TotalProcessorTime.TotalMilliseconds > 0)
return hostDomain.MonitoringTotalProcessorTime.TotalMilliseconds * 100 / Process.GetCurrentProcess().TotalProcessorTime.TotalMilliseconds;
return 0;
}
public static double GetAppDomainMemoryUsage(AppDomain hostDomain)
{
if (AppDomain.MonitoringSurvivedProcessMemorySize > 0)
return (double)hostDomain.MonitoringSurvivedMemorySize * 100 / (double)AppDomain.MonitoringSurvivedProcessMemorySize;
return 0;
}
AppDomain.MonitoringIsEnabled = true;