cpu 使用率统计
以 linux 举例,我们可以使用 top 命令统计当前 cpu 的使用状态。top 命令统计口径如下:
如果 CPU 在执行用户程序,那么调用 account_user_time 进行统计。
如果 CPU 在执行内核代码,那么调用 account_system_time 进行统计。
否则说明 CPU 在执行 idle 进程 (也就是处于空闲状态),那么调用 account_idle_time 进行统计。
最关键的是 idle 进程,idle 进程会执行 hlt 硬件命令,使得 cpu 只能够响应非屏蔽中断(如:时钟信号、IO等),这里实际就进入到了低功耗模式中。
对于其他所有的情况,CPU 都在正常运行,因此,可以统计一段时间内 idle 的比例计算CPU 使用率,如公式 表示,即 account_idle_time 越少,CPU 使用率越高。
网友评论