`
REALGODO
  • 浏览: 175137 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android项目使用jiffies来测量CPU耗电情况

 
阅读更多

 调试android程序是否耗电时候可采用单位时间内监控jiffies的方式实现

 
  • 什么是jiffies
    全局变量jiffies用来记录自系统启动以来产生的节拍的总数。启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的值也就是Hz。
    系统运行时间以秒为单位,等于jiffies/Hz。注意,jiffies类型为无符号长整型(unsigned long),其他任何类型存放它都不正确。将以秒为单位的时间转化为jiffies:seconds * Hz,将jiffies转化为以秒为单位的时间:jiffies / Hz相比之下,内核中将秒转换为jiffies用的多些。
 
  • 调试方法
1.安装你的app后,尽量关闭无关app,将屏幕锁屏时间调至最大(一般是10分钟)
2.进入adb shell 中使用如下命令
ps | grep “你的app包名”
cat /proc/“进程号”/stat | awk -F " " '{print $14,$15}'
每隔10分钟记录下这两个值,做差值
第一个值是内核态jeffies,第二个值是用户态jeffies
3.比较优化后的app在相同测试时间的jeffies数,就可以判断你的程序的CPU耗电状况

 

分享到:
评论

相关推荐

    linux定时器和Jiffies.pdf

    linux定时器和Jiffies.pdf

    cpuinfo_内存占有率计算_linuxcpu占用率统计_

    // CPU占用率计算原理:// 1、读取/proc/pid/stat文件,其中记录了从开机到现在,本进程所占用的CPU时间(单位jiffies)// 2、然后再读取/proc/stat文件,其中记录了从开机到现在,系统所占用的CPU时间(单位jiffies...

    linux中的jiffies变量.pdf

    linux中的jiffies变量.pdf

    6_jiffies.tasr.gz

    获取内核jiffies值(此为博客http://blog.csdn.net/shallnet 文章对应源码下载)

    linux中的jiffies变量文.pdf

    linux中的jiffies变量文.pdf

    需要了解的linux HZ Tick Jiffies.docx

    需要了解的linux HZ Tick Jiffies.docx

    Linux设备驱动程序学习(10)-时间、延迟及延缓操作 - Linux设备驱动程序

    Linux设备驱动程序学习(10)-时间、延迟及延缓操作 - Linux设备驱动程序

    Linux内核中的定时

    系统定时器频率(节拍率)是通过...  全局变量Jiffies用来记录自系统启动以来产生的节拍的总数,Jiffies一秒内增加的值是HZ,系统运行时间以秒为单位计算,等于jiffies/HZ。 extern unsigned long volatile jiffie

    Linux时间子系统之时间的表示示例详解

    1)jiffies和jiffies_64 内核用jiffies_64全局变量记录系统自启动以来经过了多少次Tick。它的声明如下(代码位于kernel/time/timer.c中): __visible u64 jiffies_64 __cacheline_aligned_in_smp = INITIAL_...

    Linux时间子系统.docx

    时钟源的精度由其驱动时钟频率决定,内核使用clocksource结构来抽象时钟源。 时间表示: 内核使用不同的时间表示方法,如jiffies(基于时钟滴答的计数)、timeval(秒和微秒)、timespec(秒和纳秒)和ktime(通用...

    procfs_example:proc文件系统示例模块

    procfs_example 前言 本程序是为了《操作系统课程设计》(浙江大学出版社09年版 李善平著)第六章/proc实验而写,因书上及网络上的现有教程基本上都是10年以前内核2点几的...测试使用的内核版本为3.10.0,其他版本内核

    CPSC_351:计算机科学351项目

    CPSC_351 计算机科学351 项目1:除了hello.c之外,此分配还将涉及设计两个内核模块。 你好ç jiffies.c 秒

    LinuxOS性能调优——内存篇

    LinuxOS性能调优——内存篇.今天继续在linuxRH上进行调优,之前Jason的linuxOS调优上提到了一般的步骤及方法,今天继续给LinuxOS的调优进行下去,我们关注的还是在内存端的参数,留下点...该值以jiffies为单位测量。Ji

    ARM_Linux启动分析.pdf

    延迟校准(获得时钟jiffies与CPU主频ticks的延迟,calibrate_delay()) 内存初始化(设置内存上下界和页表项初始值,mem_init()) 创建和设置内部及通用cache("slab_cache",kmem_cache_sizes_init()) 创建uid ...

    runtime:核心JS运行时

    JEFRi是一个实体框架,它是组织发展工作的完整数据抽象规范。 Active Record模式在数据库中留下了太多的数据模型。 REST服务不灵活。 Rails完全浪费了太多代码...1.2.1 2014-03-07使用新的基础jiffies utils重新发布。

    Operating_system

    CPSC-351 jiffies_project 曹安迪

    vmm_clock:在OpenBSD的管理程序下针对Linux来宾的kvmclock派生的时钟源的实验实现

    主要目标: 提供的时钟源不会受到无法控制的时钟漂移的影响,这与在较新Linux LTS内核(例如5.4)中使用精致化的jiffies时所见提供可作为模块加载的时钟源,不需要用户从源代码构建完整的内核是平台无关的,即在...

    【嵌入式Linux驱动开发】十四、了解Linux内核定时器使用流程,实现LED闪烁

    致敬英雄! 一、Linux内核定时器初探 1.1、图形界面配置系统节拍率   中断周期性产生的频率就是系统频率,也叫做节拍率(tick rate),单位是 Hz。...1.2、重要全局变量jiffies   在上一步,我们采用了 10

    Linux2.6内核标准教程(共计8-- 第1个)

    6.4.2 更新jiffies_64、xtime 269 6.4.3 对当前进程记账 271 6.4.4 时钟中断处理小结 272 6.5 内核定时器工作原理 273 6.5.1 初始化内核定时器节点 273 6.5.2 激活内核定时器节点 273 6.5.3 内核定时器...

    Linux2.6内核标准教程(共计8--第6个)

    6.4.2 更新jiffies_64、xtime 269 6.4.3 对当前进程记账 271 6.4.4 时钟中断处理小结 272 6.5 内核定时器工作原理 273 6.5.1 初始化内核定时器节点 273 6.5.2 激活内核定时器节点 273 6.5.3 内核定时器...

Global site tag (gtag.js) - Google Analytics