【发布时间】:2016-09-17 16:33:42
【问题描述】:
在 Windows 上,GetProcessTimes() 和 QueryProcessCycleTime() 可用于获取应用程序所有线程的总数。我希望(显然天真地)找到总周期数和总处理器时间(用户+内核)之间的比例关系。当转换为相同的单位(秒)并以应用程序运行时间的百分比表示时,它们甚至不接近;而且它们之间的比例变化很大。
在应用启动后,它们就相当接近了。
3.6353% CPU cycles
5.2000% CPU time
0.79 Ratio
但这个比率会随着应用保持空闲状态而增加(低于 11 小时后,大部分时间处于空闲状态)。
0.0474% CPU cycles
0.0039% CPU time
12.16 Ratio
显然,对用户或内核时间没有贡献的周期被计算在内。我很好奇它是如何工作的。请赐教。
谢谢。
- 文斯
【问题讨论】: