我想知道如何计算进程的总CPU使用率.
如果我这样做,我认为相关领域是(取自lindevdoc.org):cat /proc/pid/stat
花费14到17之和的总时间是多少?
我正在尝试按以下方式计算Android中进程的CPU使用率,但是由于产生的输出,我不确定它是否正确。
要将吉菲转换为秒:吉菲/赫兹
第一步:使用/proc/uptime文件的第一个参数获取正常运行时间。
第二步:从中获取每秒的时钟滴答数/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq。
第三步:从中获取过程(utime(14) +stime(15))参数花费的总时间/proc/[pid]/stat
第四步:从/proc/[pid]/stat
Linux 2.6之后的时钟滴答(除以sysconf(_SC_CLK_TCK)除)表示的值中获取进程的starttime(22)。
第五步:获取自进程启动(uptime - (starttime / hertz)以来的总运行时间(因为正常运行时间以秒为单位,而启动时间以时钟滴答为单位)。
第六步:获取CPU使用率百分比((totaltime / hertz) / elapsedTime) * 100。
计算后的输出类似于5.702244483458246E-6,大约等于〜0.000005702244483
编辑
输出量
步骤1:226.06 1211.19
步骤2:1000000
步骤3:9347(example.com)S 3573 3573 0 0 -1 1077952832 8971 0 1 0 38 32 0 0 20 0 25 0 13137 983830528 14330 4294967295 1 1 0 0 0 0 4612 0 38136 4294967295 0 0 …