python--安卓端APP:性能测试(cpu使用)
2021/7/16 20:06:41
本文主要是介绍python--安卓端APP:性能测试(cpu使用),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、获取应用包名,ex:
adb shell dumpsys window | findstr mCurrentFocus mCurrentFocus=Window{b1af8e1 u0 com.xw.samlpe.bubbleseekbar/com.xw.samlpe.bubbleseekbar.MainAbilityShellActivity}
2、获取应用的pid,所有线程的tid值,获得具体线程的状态----获得线程运行时间processCPUTime(即utime,stime,cutime,cstime的和)
1 adb shell ps -ef |findstr com.xw.samlpe.bubbleseekbar #获取pid
2 adb shell ps -T -p pid值 #所有线程的tid
3 adb shell cat /proc/pid值/task/tid值/stat #具体线程的状态
备注:proc/pid/task/tid/stat文件介绍如下:
1 C:\Users\dWX1068106>adb shell cat /proc/2275/task/2471/stat 2 2471 (Thread-3) S 626 972 0 0 -1 1077952576 11015 0 0 0 364 207 0 0 10 -10 39 0 534300 6705520640 40954 18446744073709551615 1 1 0 0 0 0 4612 4097 1073775864 0 0 0 -1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
每个参数意思为:
参数 解释
pid=2741 进程(包括轻量级进程,即线程)号
com=(Thread-3) 应用程序或命令的名
utime=364 该任务在用户态运行的时间,单位为jiffies(一般地等于10ms),下标为13
stime=207 该任务在核心态运行的时间,单位为jiffies,下标为14
cutime=0 累计的该任务的所有的waited-for进程曾经在用户态运行的时间,单位为jiffies
cstime=0 累计的该任务的所有的waited-for进程曾经在核心态运行的时间,单位为jiffies
3、获得/proc/stat中 cpu运行时间 totalCpuTime即(CPU指标:user,nice, system, idle, iowait, irq, softirq的和)
4、totalCpuTime,processCPUTime均取0.3s的差值,来判断cpu_rate(我们需要的cpu使用率),
cpu = 100 * (processCpuTime差值) / (totalCpuTime差值) if cpu < 0: cpu = 0 elif cpu > 100: cpu = 100 return cpu
这篇关于python--安卓端APP:性能测试(cpu使用)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程