How can I get CPU usage and/or RAM usage of a *THREAD* in C# (managed code)?

前端 未结 4 806
盖世英雄少女心
盖世英雄少女心 2020-12-09 19:00

I know how to get CPU usage and memory usage for a process, but I was wondering how to get it on a per-thread level. If the best solution is to do some P-Invoking, then that

4条回答
  •  春和景丽
    2020-12-09 19:20

    As said, memory use cannot be answered since that is an attribute of the process as a whole, but CPU use:

    Process p = Process.GetCurrentProcess(); // getting current running process of the app
    foreach (ProcessThread pt in p.Threads)
    {
        // use pt.Id / pt.TotalProcessorTime / pt.UserProcessorTime / pt.PrivilegedProcessorTime
    }
    

提交回复
热议问题