在windows平台进行接口测试的时候,想要了解接口的CPU占用情况往往需要通过资源监视器查看相关进程的CPU占有率,但是,如果是批量接口的时候一个个观察很浪费时间,有没有一套自动记录CPU情况的方案呢?
·想要记录CPU占用情况,首先搞清楚CPU占用率是怎么计算的
1.计算CPU的占用率:
CPU占用率:指进程在一个时间段内消耗的CPU时间与该时间段长度的比值。
所以的CPU的计算公式如下:
T:某个时间段(就是要计算这个时间段的CPU使用率)
W:在这个时间段中CPU处于工作状态的时间
I:在这个时间段中CPU处于空闲状态的时间
CPU%=W/T*100% 或
CPU%=(T-I)/T*100%
CPU的时间分为用户态和内核态即userTime和kernelTime。其中还有空闲态idleTime,,但是当CPU在空闲状态时,kernelTime包含了idleTime。所以一段时间内CPU的总时间SystemTime=kernelTime+userTime,CPU的工作时间为BusyTime=kernelTime+userTime-idleTime。
CPU%=BusyTime/SystemTime。
获取CPU系统的占用率即获取windows平台各个CPU的时间状态并计算。
2.具体方案:
通过Windows的wmic命令下读取进程的CPU各个状态(注:通过wmic命令获取的进程的是系统的进程,而不是单独的javaw.exe进程),具体操作如下图: