Windbg程序调试系列5-高CPU问题分析

上篇博客中给大家分享了使用Windbg进行Live Debugging:

Windbg程序调试系列4-Live Debugging

本篇中我们继续,跟大家分享常见的应用程序高CPU使用率问题分析。

先说Windows下CPU使用率这个概念:

CPU使用率:在任务管理器的刷新周期内CPU忙的时间与整个刷新周期的比值。默认的刷新周期是1s。

即1s内,反映出系统的CPU繁忙程度

我们打开Windows的任务管理器,可以看到CPU的使用率:

Windbg程序调试系列5-高CPU问题分析

当然,这个CPU使用率是整个所有核心CPU的使用率。比如我本机是8核心的CPU。整体的CPU使用率 在某一瞬间是14%。

这个CPU使用率是如何计算出来的,有两个重要的时间sysTime和idleTime:

sysTime:表示该时间段内总的CPU时间=CPU处于用户态和内核态CPU时间的总和,即sysTime =kerneTimel + userTime

(注:这里并不包括idleTime,因为当CPU处于空闲状态时,是在内核模式下运行System Idle Process这个进程,所以kernelTime实际上已经包含了idleTime);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfpsw.html