CPU使用率

本文详细介绍了DoraemonKit中CPU检测功能的工作原理,通过分析/proc/stat文件获取系统CPU使用情况。在Android 8.0及以上系统,采用不同的数据获取方式。CPU使用率通过计算t1到t2时间段内CPU总使用时间和空闲时间来得出,而IOWait时间占比也在计算中起作用。博客提供了具体的计算公式和步骤。
摘要由CSDN通过智能技术生成

利用Doraemonkit CPU检测功能,原理是分析/proc/stat/文件,
文件记录的是系统进程整体的统计信息,得到CPU的使用率 CPU 使用率
(以占总可用 CPU 时间的百分比表示)

PerformanceDataManager.executeCpuData
if (mAboveAndroidO) {//是否是8.0以上
mLastCpuRate = getCpuDataForO();
} else {
mLastCpuRate = getCPUData();
}

mProcStatFile = new RandomAccessFile("/proc/stat", “r”);
mAppStatFile = new RandomAccessFile("/proc/" + android.os.Process.myPid() + “/stat”, “r”);

/proc/stat//节点记录的是系统进程整体的统计信息
解析见博客https://blog.csdn.net/houzhizhen/article/details/79474427

CPU时间=user+system+nice+idle+iowait+irq+softirq
CPU在t1到t2时间段总的使用时间 = ( user2+ nice2+ system2+ idle2+ iowait2+ irq2+ softirq2) - ( user1+ nice1+ system1+ idle1+ iowait1+ irq1+ softirq1)
CPU在t1到t2时间段空闲使用时间 = (idle2 - idle1)
CPU在t1到t2时间段即时利用率 = 1 - CPU空闲使用时间 / CPU总的使用时间
IOWait在t1到t2时间段=(iowait 2-iowait1) / CPU总的使用时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值