Java cpu 使用率过高

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 使用率,如公式 \frac{accountUserTime + accountSystemTime}{accountUserTime + accountSystemTime + accountIdleTime} 表示,即 account_idle_time 越少,CPU 使用率越高。

Java 线程是否消耗 cpu

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容