1,top信息查看IOW%

adb shell top -d 1 -m 10 - t

查看IOW的百分比是不是很高,说明值得怀疑,真正是不是IO的瓶颈还详细分析应用启动时间内的IO繁忙程度。 有是有IOW%达到80%系统y额不一定很卡,有是有10%系统也会觉得卡。因为IOW是前提条件是CPU空闲,且在等待这么多IO请求,所以相同条件下的IO, CPU空闲越多,百分比越小。

2,比top更详细的系统性能操作监控,其中有IO模块监控,能实时看到IO操作量

adb shell vmstat 2

http://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.html

bi  块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte,我本机上没什么IO操作,所以一直是0,但是我曾在处理拷贝大量数据(2-3T)的机器上看过可以达到140000/s,磁盘写入速度差不多140M每秒

bo 块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。

in 每秒CPU的中断次数,包括时间中断

cs 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目,例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。

bi  块设备每秒接收的块数量
bo 块设备每秒发送的块数量 

这两点错了。
bi: Blocks received from a block device (blocks/s).——每秒从块设备接收到的块数,即读块设备。
bo: Blocks sent to a block device (blocks/s).——每秒发送到块设备的块数,即写块设备。

3,还有一种命令方式查看那些线程在操作IO,以及方式:

adb shell;  echo 1 > /proc/sys/vm/block_dump

adb shell dmesg > dmesg.txt

http://www.oenhan.com/block-dump-linux-io

http://itindex.net/detail/46239-linux-io-%E5%88%86%E6%9E%90

4, 一种更好的只针对IO的工具iotop,这个工具在android中没有集成,需要使用github上的开源脚本push到/system/bin中运行。

它能直接看到IO的负载是不是达到瓶颈,繁忙程度。

liunx的工具查看IO的工具, iotop.sh :

http://forum.xda-developers.com/android/software-hacking/script-iotop-android-t2910428

https://github.com/laufersteppenwolf/iotop

http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858941.html

android I/O Performance 的一些查看方法相关推荐

  1. android手机电池温度,安卓手机电池温度查看方法图文教程

    智能手机性能如今越来越强,功耗也相对较高,长时间用手机玩游戏,经常也能感受到机身比较烫.本文主要分享一个安卓手机小技巧,教大家如何查看安卓手机电池温度,让大家更加安全的使用手机. 安卓手机怎么看电池温 ...

  2. 如何在Android Studio中查看方法信息?

    本文翻译自:How can I view method information in Android Studio? In Eclipse, when you hover your mouse ove ...

  3. Android混淆后的日志查看方法(mac)

    Android混淆后的日志查看方法(mac) 注:这是本人常用方法,如下述方法有错误或更好的办法,请大佬评论指出,防止误导他人.收集日志用的友盟,混淆后的日志在友盟错误列表-错误详情-详细日志, 1. ...

  4. 蓝叠模拟器查看Android版本,BlueStacks蓝叠版本信息在哪看蓝叠模拟器版本信息查看方法...

    摘要 腾兴网为您分享:BlueStacks蓝叠版本信息在哪看蓝叠模拟器版本信息查看方法,钻石星球,找乐助手,掌上新华,银联商务等软件知识,以及ie11forwin764位,交易猫平台,安徽省国家税务局 ...

  5. 锂电池循环查询android,安卓手机电池寿命怎么看?安卓手机电池循环次数查看方法...

    新年伊始,iPhone的降频门余波未平,手持安卓手机的朋友们多数抱着看热闹的心态一旁旁观,但是不要忘了安卓手机同样使用锂电池,虽然没有降频门,锂电池老化更换依然是个绕不过的话题.通常来说,锂电池使用寿 ...

  6. Android App定位和规避内存泄露方法研究

    from:http://site.douban.com/android/widget/notes/350758/note/167481484/ 工作中刚好用到,网上搜到的,觉得不错,与大家分享 And ...

  7. 文件管理器android实现,Android开发之简单文件管理器实现方法

    易采站长站为您分析Android开发之简单文件管理器实现方法,简单实现了Android的文件目录查看,文件重命名,打开,删除等功能,需要的朋友可以参考下 本文实例讲述了Android开发之简单文件管理 ...

  8. Android开发中调用系统窗口的方法

    //直接拨号 Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678")); start ...

  9. android设备如何苹果,Android安卓设备如何连接Mac的方法

    Android安卓设备如何连接Mac的方法 本篇文章主要给大家总结了安卓设备连接MAC电脑的方法以及中间遇到连接问题以后的处理办法. 平时大家用到最多的就是安卓手机和苹果电脑互连,由于安卓系统应用广泛 ...

最新文章

  1. AI是万能的吗?当前AI仍面临的难题是什么?
  2. Android用户界面开发(11):Menu
  3. h1.1 hadoop简介
  4. 机器学习系列之手把手教你实现一个决策树
  5. python json模块 超级详解
  6. 山师计算机试题答案,山师计算机应用技术试题及答案
  7. ie浏览器不支持多行隐藏显示省略号
  8. C++中int *p[4]和 int (*q)[4]的区别
  9. Node.js + Consul 实现服务注册、健康检查、配置中心
  10. 烂泥:nagios学习(四):pnp4nagios图形化绘制nagios数据
  11. java毕向东练习题,java中的String类的练习(来自毕向东老师视频资料)
  12. CentOS 7 之Helloworld with c
  13. Mysql 数据补位
  14. Github优秀Android开源项目,值得引用与学习(注意!里面有巨图! )
  15. 1.2 webstorm设置pug自动编译
  16. 如何从iTunes Store赠送音乐,电影等
  17. 【C语言】输入英文标题,统计大写字母、小写字母、数字和其他字符的个数。
  18. ADI Blackfin DSP处理器-BF533的开发详解62:DSP控制ADXL345三轴加速度传感器-贪食蛇游戏(含源码)
  19. 全球与中国小龙虾市场深度研究分析报告
  20. Kafka Eagle Consumers不显示

热门文章

  1. 图像处理-图像增强(一)
  2. 到了2020年,年薪80w的阿里P7专家,顶尖的技术人才只因做到了这几点
  3. C程序设计语言——VC++2010安装教程
  4. 东莞市电子计算机学校,东莞市电子科技学校
  5. 浏览器大战再起,谁将夺取企业市场第一把交椅?
  6. 【毕业设计_课程设计】基于深度学习网络模型训练的车型识别系统
  7. 一文尽览 | 基于点云、多模态的3D目标检测算法综述!(Point/Voxel/Point-Voxel)
  8. 1.Barry Schwartz: What role does luck play in your life? | TED Talk
  9. web报表工具FineReport常见的数据集报错错误代码和解释 1
  10. 红米手机使用应用沙盒动态修改imei信息