C# System.Diagnostics.PerformanceCounter测量每个模块的CPU利用率
是否可以跟踪进程中每个模块的cpu利用率?在下面的代码中,可以确定myProcess中每个模块的CPU和内存消耗C# System.Diagnostics.PerformanceCounter测量每个模块的CPU利用率,c#,.net,performance,module,system.diagnostics,C#,.net,Performance,Module,System.diagnostics,是否可以跟踪进程中每个模块的cpu利用率?在下面的代码中,可以确定myProcess中每个模块的CPU和内存消耗 Process[] currentProcesses = Process.GetProcesses(); Process myProcess = currentProcesses[0]; using (PerformanceCounter pcProcess = new PerformanceCounter( "Process", "% Processor
Process[] currentProcesses = Process.GetProcesses();
Process myProcess = currentProcesses[0];
using (PerformanceCounter pcProcess = new PerformanceCounter(
"Process",
"% Processor Time",
targetProcess.ProcessName))
using (PerformanceCounter memProcess = new PerformanceCounter(
"Process",
"Working Set - Private",
targetProcess.ProcessName))
{
pcProcess.NextValue();
}
这是不可能的,您需要使用探查器。我使用了windows performance analyzer,它提供了所需的模块级CPU使用率数据,但问题是,我想自动执行此过程,并检索单个进程的模块级统计信息,即使是1分钟的WPA记录也会创建大于1GB的ETL文件。是否可以使用WPA只记录单个进程的概要文件数据,以保持ETL文件的小尺寸?