电池锂电池循环性能测试试项目中的RSS是什么意思

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Android性能测试 - 简书
Android性能测试
(抱歉,没找到原文)
响应时间/加载速度
显示性能(FPS)
电量、流量
本文涉及到的命令主要有:
& 表示输出内容写入到文件 eg. echo 121212 & 12.txt
&& 表示输出内容追加到文件 eg. echo 343434 && 12.txt
Ctrl + c 快捷键:终止命令
ps 查看进程的,查看某一进程adb shell ps &packageName&而非adb shell ps | grep &packageName&
top 查看占用率 top -d 1 | grep com.baidu.BaiduMap(以百度地图为例,每一秒打印一次资源利用情况)
adb shell dumpsys &service name&打印当前系统信息。
adb shell dumpsys 输出信息的开始部分就是所有运行的service;
adb shell service list 同样查看所以运行的service
查询到运行的system service后,就可以在dumpsys后面加上service的名字,查看指定的service信息。
adb shell dumpsys activity
adb shell dumpsys cpuinfo
adb shell dumpsys battery
adb shell dumpsys window(最后部分可以看到分辨率的信息)
有些service能够接收额外的参数,我们可以使用-h查看帮助信息。
adb shell dumpsys package -h
adb shell dumpsys activity -h
adb shell cat /proc/cpuinfo 查看CPU信息
adb shell cat /proc/stat 查看CPU使用率
adb shell dumpsys gfxinfo &packageName&查看帧率FPS
adb shell pm list package列出所有的包名
adb shell dumpsys package:列出所有的安装应用的信息
adb shell dumpsys package &packageName&:查看某个包的具体信息
更多内容请参考:
CPU使用背景知识
在开发过程中,我们会遇到手机的CPU使用率过高而引发的问题,那接下来,我对这方面知识做些整理及归纳:
CPU利用率是指:CPU执行非系统空闲进程的时间 / CPU总的执行时间。
而Android关于进程使用率的限制:
前台进程不超过95%,后台进程5%, 但是在系统没有前台进程时,后台进程可以超过5%
(关于什么是前/后台进程,我就不啰嗦了)
可能引发的问题
整体性能降低
响应慢,容易引起ANR
通过ADT中的DDMS来查看
System Information(CPU Load & Memory usage & Frame Render Time)
adb shell $ dumpsys cpuinfo|grep &package&
top命令如下
130|shell@hnSCL-Q:/ $ top -h
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [
-t ] [ -h ]
Maximum number of processes to display.// 最多显示多少个进程
Updates to show before exiting.// 刷新次数
Seconds to wait between updates.// 刷新间隔时间(默认5秒)
Column to sort by (cpu,vss,rss,thr).// 按哪列排序
Show threads instead of processes. // 显示线程信息而不是进程
Display this help screen.// 显示帮助文档
查看前5个进程CPU情况
shell@hnSCL-Q:/ $ top -m 5 -s cpu
User 1%, System 2%, IOW 0%, IRQ 0%
User 9 + Nice 1 + Sys 18 + Idle 595 + IOW 0 + IRQ 0 + SIRQ 0 = 623
PID PR CPU% S
RSS PCY UID
1228K unk shell
/system/bin/jankservice
172 9516K unk system
system_server
ksoftirqd/2
276K unk shell
/sbin/adbd
注:PCY显示是前台进程(fg)还是后台进程(bg)的
日志说明(来自:)
User 35%, System 13%, IOW 0%, IRQ 0% // CPU占用率
User 109 + Nice 0 + Sys 40 + Idle 156 + IOW 0 + IRQ 0 + SIRQ 1 = 306 // CPU使用情况
PID CPU% S #THR VSS RSS PCY UID Name // 进程属性
CPU占用率:
IOW IO等待时间
IRQ 硬中断时间
CPU使用情况(指一个最小时间片内所占时间,单位jiffies。或者指所占进程数):
处于用户态的运行时间,不包含优先值为负进程
优先值为负的进程所占用的CPU时间
Sys 处于核心态的运行时间
除IO等待时间以外的其它等待时间
IOW IO等待时间
IRQ 硬中断时间
软中断时间
进程属性:
PID 进程在系统中的ID
当前瞬时所以使用CPU占用率
进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
程序当前所用的线程数
VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PCY OOXX,不知道什么东东
UID 运行当前进程的用户id
程序名称android.process.media
// ps:内存占用大小有如下规律:VSS &= RSS &= PSS &= USS
Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
查看CPU信息adb shell cat /proc/cpuinfo
查看CPU总使用率 :在/proc/stat 下有详细的CPU使用情况,可以使用命令adb shell cat /proc/stat
shell@hnSCL-Q:/ $ cat proc/stat
CPU后面的几位数字分别是
从系统启动开始累计到当前时刻,处于用户态的运行时间,不包含 nice值为负进程。
从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间
从系统启动开始累计到当前时刻,处于核心态的运行时间
从系统启动开始累计到当前时刻,除IO等待时间以外的其它等待时间
从系统启动开始累计到当前时刻,IO等待时间
从系统启动开始累计到当前时刻,硬中断时间
从系统启动开始累计到当前时刻,软中断时间
所以totalCpuTime这个7个属性的和.
CPU总数用率的算法是:100*((totalCpuTimeS-totalCpuTimeF) -(idelS-idelF))/ (totalCpuTimeS-totalCpuTimeF)
详细内容参考:
查看当前进程的CPU使用率:/proc/pid/stat下则是该pid的CPU使用情况。先找到自己的进程pid,然后再查看(例如查看com.le.bbs)
shell@hnSCL-Q:/ $ ps com.le.bbs
32 ffffffff
S com.le.bbs
shell@hnSCL-Q:/ $ cat /proc/961/stat
961 (com.le.bbs) S 374 374 0 0 -1 75 0 1 0
0 20 0 28 0 698
1 1 0 0 0 0 36
0 0 0 0 0 0 0 0 0 0 0 0 0
shell@hnSCL-Q:/ $
其中 0 四个数字分别是
utime 该任务在用户运行状态的时间
stime 该任务在核心运行的时间
cutime 所有已死线程在用户状态运行状态的时间
cstime 所有已死线程在核心的运行时间
所以processCpuTime为这个四个属性的和。当前进行所占CPU的算法是:100*(processCpuTimeS-processCpuTimeF)/(totalCpuTimeS-totalCpuTimeF)
详细内容参考:
adb shell进入手机,这此参数被纪录在/system/build.prop中,如果想直接查看可以使用adb shell getprop
dalvik.vm.heapgrowthlimit 单个应用程序最大内存限制,超过这个值会产生OOM
dalvik.vm.heapstartsize 应用启动后分配的初始内存
dalvik.vm.heapsize 单个java虚拟机最大的内存限制,超过这个值会产生OOM
以下是在dos中,在linux中可以直接adb shell getprop|grep
C:\Users\bugeikan :-)&adb shell
shell@hnSCL-Q:/ $ cat /system/build.prop|grep heapgrowthlimit
dalvik.vm.heapgrowthlimit=192m
shell@hnSCL-Q:/ $ cat /system/build.prop|grep heapstartsize
dalvik.vm.heapstartsize=14m
shell@hnSCL-Q:/ $ cat /system/build.prop|grep heapsize
dalvik.vm.heapsize=512m
shell@hnSCL-Q:/ $
查看内存使用情况
shell@hnSCL-Q:/ $ dumpsys meminfo com.le.bbs
Applications Memory Usage (kB):
** MEMINFO in pid 3336 [com.le.bbs] **
Native Heap
Dalvik Heap
Dalvik Other
Other mmap
ViewRootImpl:
AppContexts:
Activities:
AssetManagers:
Local Binders:
Proxy Binders:
Parcel memory:
Parcel count:
Death Recipients:
OpenSSL Sockets:
MEMORY_USED:
PAGECACHE_OVERFLOW:
MALLOC_SIZE:
shell@hnSCL-Q:/ $
查看内存使用率状况adb shell top
User 1%, System 3%, IOW 0%, IRQ 0%
User 8 + Nice 0 + Sys 21 + Idle 599 + IOW 0 + IRQ 0 + SIRQ 0 = 628
PID PR CPU% S
RSS PCY UID
1240K unk shell
/system/bin/jankservice
424K unk shell
/sbin/adbd
39 1659460K
com.tencent.mobileqq:MSF
注:PCY显示是前台进程(fg)还是后台进程(bg)的
内存耗用:VSS/RSS/PSS/USS 的介绍
VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS &= RSS &= PSS &= USS
响应时间/加载速度
响应时间主要分为3类
首次启动 --应用首次启动所花费的时间
非首次启动 --应用非首次启动所花费的时间
应用界面切换
adb shell am start -W &pkg/activity& 可参考
启动某个Activity时间
通过使用android提供的DisplayManager来获取所有Activity的启动时间。
C:\Users\yuhushuan&adb logcat & d:\test\logcat.log
C:\Users\yuhushuan&d:
D:\&cd test
D:\test&find "Displayed" logcat.log & all.log //通过“Displayed”过滤
基础数据来源
系统合成帧率
SurfaceFlinger
Aggregate frame stats
应用跳帧次数、幅度
Jankiness count
(估算)应用跳帧次数
FrameInfo(128帧)
Max accumulated frames
(估算)应用跳帧幅度
FrameInfo(128帧)
应用绘制轮询频率
Choreographer
Skipped frames
应用跳帧次数、幅度
Choreographer
监控/定位/上报
命令行获取
adb shell dumpsys gfxinfo &PackageName&主要数据来源:gfxinfo(Profile data in ms)
adb shell dumpsys SurfaceFlinger --latency &pkg/activity&
FrameInfo 相关指标无法直接进行,但 FrameInfo 当中包含了大量详尽的绘制基础数据,对于缺陷定位也有较大帮助;
关于过程中连续掉帧阈值的选取,可参考维基百科中提到几个重要的帧率数值:
12 fps:由于人类眼睛的特殊生理结构,如果所看画面之帧率高于每秒约10-12帧的时候,就会认为是连贯的
24 fps:有声电影的拍摄及播放帧率均为每秒24帧,对一般人而言已算可接受
30 fps:早期的高动态电子游戏,帧率少于每秒30帧的话就会显得不连贯,这是因为没有动态模糊使流畅度降低
60 fps:在实际体验中,60帧相对于30帧有着更好的体验
以上各数据分别对应: 0 帧、1帧、2.5帧、5~6帧。(这就是为啥选择3/6的原因)
电量、流量
流量测试,同样需要引入几个名词
中等负荷:应用正常操作
高负荷:应用极限操作
流量测试包括以下测试项:
a、应用首次启动流量提示
b、应用后台连续运行2小时的流量值
c、应用高负荷运行的流量峰值
d、应用中等负荷运行时的流量均值
D:\test&adb shell ps com.le.bbs
580 ffffffff
S com.le.bbs
D:\test&adb shell cat /proc/29273/net/dev & net.txt
以下为net.txt内容:
face |bytes
packets errs drop fifo frame compressed multicast|bytes
packets errs drop fifo colls carrier compressed
r_rmnet_data7:
r_rmnet_data4:
r_rmnet_data1:
r_rmnet_data6:
r_rmnet_data3:
rmnet_data7:
rmnet_data6:
rmnet_data5:
rmnet_data4:
rmnet_data3:
rmnet_data2:
rmnet_data1:
rmnet_data0:
r_rmnet_data8:
r_rmnet_data0:
r_rmnet_data5:
r_rmnet_data2:
这边的wlan0代表wifi 上传下载量标识! 上传下载量单位是字节可以/1024换算成KB
这里可以看到下载的字节数 、数据包 和 发送的字节数 、数据包
小技巧:wlan0这些值如何初始化0 很简单 你打开手机飞行模式再关掉就清0了
adb shell cat /proc/&pid&/status 测试pid=29273,查看结果uid=10170
adb shell cat /proc/net/xt_qtaguid/stats & allnet.txt
find "10170" allnet.txt
D:\test&adb shell cat /proc/net/xt_qtaguid/stats & allnet.txt
D:\test&find "10170" allnet.txt
---------- ALLNET.TXT
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
56 wlan0 0x0 29 55 29 55 0 0 0 0
57 wlan0 0x0
0 0 0 0 2 0
154 rmnet_data0 0x0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
155 rmnet_data0 0x0 1 4 482 5
0 0 0 482 5 0 0 0 0
其中第6和8列为 rx_bytes(接收数据)和tx_bytes(传输数据)包含tcp,udp等所有网络流量传输的统计。一个uid可能对应多个 进程,所以这有两行流量是累加的就求和就行。
将crash log上报给服务器,不再赘述
第三方工具:友盟统计、百度统计
第三方测试工具
一、Android 性能测试初探(一) Android 性能测试,跟 pc 性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类: 一类为 rom 版本的性能测试一类为应用的性能测试对于应用性能测试,包括很多测试项,如启动时间、内存、CPU、GPU、功耗、流量...
Android的app性能测试包括的测试项比如: 1、资源消耗 2、内存泄露 3、电量功耗 4、耗时 5、网络流量消耗 6、移动终端相关资源利用率 7、帧率 8、渲染 内存篇 内存测试中的测试子项: 1)空闲状态下的应用内存消耗情况 2)中等规格状态下的应用内存消耗情况 3...
ADB,即Android debug bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 From:GitHub - mzlogin/awesome-adb: ADB Usage Complete / ADB 用法...
背景介绍 Android用户也许会经常碰到以下的问题: 1)应用后台开着,手机很快没电了——应用耗电大; 2)首次/非首次启动应用,进入应用特别慢——应用启动慢; 3)应用使用过程中,越来越卡——CPU能力不足/内存泄露; 4)应用页面卡顿——帧率较低、页面卡顿。 因此,对...
一、安装jdk 1、安装jdk1.8,见安装包 或者下载安装jdk1.8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2、配置相应系统变量 计算机→属...
三个女人一台戏。今年初,说起要来个毕业旅行,三个人欢呼雀跃的兴奋劲儿还在我眼前回荡,转眼5月份就成了我一个人拎包出行了。其中一个,曾以一种大言不惭的口气,跟我说,没事啊,到时我就跟主任说我要毕业旅行就行了……果然不出我所料,工作两个月后,受了几次批评跟白眼之后,...
教育有广义和狭义之分。广义的教育泛指一切有目的地影响人的身心发展的社会实践活动。狭义的教育是指专门组织的教育,即学校教育,它不仅包括全日制的学校教育,而且也包括半日制的、业余的学校教育、函授教育、刊授教育、广播学校和电视学校的教育等。 通过以上教育的定义,会给大家对教育有一...
为你,千千万万遍. —— 《追风筝的人》 12岁的阿富汗少年阿米尔与仆人哈桑情同手足,与哈桑一起玩耍时,会怂恿哈桑去做一些恶作剧,比如用弹弓将桃胡射向邻居家的狗,朝着山羊投掷石头等等,从来也都是哈桑背负惩罚,阿米尔也视此为理所当然。哈桑出生之后叫的第一个名字就是“阿米尔”...
去年3月份时候,心血来潮,发愿要留成刘欢。受到了许多阻碍,一个是自己没有打理头发的经历和习惯,甚至一度以为蜂花护发素是极好的滋养品。留到5月时候,头发刚刚盖到眼镜,可末端已经波浪卷,分叉,再加上有白发,赶在表姐结婚前给了一刀,剪掉了发梢一截头发。换用了沙宣和沙宣的护发素,发...
,学徙第一天 上午,月经来,给药王点香,犯了忌讳,做错事了。 下午,给一35岁女孩艾灸中脘穴,被控诉,太烫了,热度没有钻进去。 我啊累得半死! ,学徒第二天 上午,许悦姐帮我艾灸,艾灸大椎时,脑两边的胆经、三焦经有热气在流动到百会,再从头...他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 燃料电池性能测试 的文章

 

随机推荐