C#中如何使用Process来获取进程的CPU使用率?

1020938070 发布于 2014/11/16 15:03
阅读 3K+
收藏 0
C#

查询了许多资料 都是使用PerformanceCounter来获取进程使用率的 但是在多个进程名字一样的情况下 会出现获取错误的情况

所以 想询问下如何使用Process来获取进程的CPU使用率

 谢谢

加载中
0
大王叫我来卖萌
大王叫我来卖萌
// get the current process
Process currentProcess = Process.GetCurrentProcess();
// get the physical mem usage
long totalBytesOfMemoryUsed = currentProcess.WorkingSet64;
http://msdn.microsoft.com/en-us/library/system.diagnostics.process_properties.aspx
1020938070
1020938070
回复 @codepat : 谢谢 我自己找到了一段根据CPU占用时间来获取占用率的 你提供的也可以 !
大王叫我来卖萌
大王叫我来卖萌
回复 @codepat : 最下面的,也是楼主的回答,转成C#函数就可以用了。
大王叫我来卖萌
大王叫我来卖萌
回复 @codepat : 看这里 http://stackoverflow.com/questions/14802787/get-cpu-usage-for-process-by-process-id
大王叫我来卖萌
大王叫我来卖萌
回复 @1020938070 : sorry, 看错题目了。获取CPU用PerformanceCounter就行啊,你说在多个同名进程情况下会出错,你可以用ProcessId来判断。
1020938070
1020938070
这个是获取进程物理内存占用的。。CPU使用率还是无法获取
0
1020938070
1020938070
根据占用CPU时间计算出占用率:http://www.mgenware.com/blog/?p=103
返回顶部
顶部