7

我终于找到了一种为各个进程获取 TotalPss 的方法。现在我关心的是,如何找到每个android进程的电池消耗量,如果没有直接的方法可以找到,那么每个进程的内存使用量和电池消耗量之间是否存在关联?任何我可以研究的研究论文?

4

3 回答 3

18

是的,就内存访问次数和能耗而言,内存使用量之间存在正相关关系。换句话说,访问的内存越多,消耗的能量就越多。

然而,能源消耗主要由应用程序与之交互的其他硬件组件(例如,CPU、显示器、无线电、GPS 等)的能源使用量支配,因为它通过 Android 平台 API、虚拟机、和操作系统。这是因为内存不是在真空中使用的,研究表明,与用作应用程序执行的其他硬件组件相比,RAM 消耗的能量相对较少。换句话说,如果发生内存访问,那是因为 CPU 正在执行,这比 CPU 处于空闲状态时消耗更多的能量。

例如,考虑以下基于对 HTC Dream (G1) 和 Nexus One 设备的测试的引用,来自:

[29] Aaron Carroll 和 Gernot Heiser,“智能手机功耗分析”,发表在 2010 USENIX 年度技术会议论文集上,波士顿,马萨诸塞州,2010 年 。http://www.nicta.com .au/pub?doc=3587

“RAM、音频和闪存子系统始终显示出最低的功耗。虽然我们的微基准测试表明 SD 卡的峰值功率可能很大(50 mW),但实际上利用率很低,平均而言,可以忽略不计功耗。即使是视频播放(移动设备的数据密集型用途之一),SD 功耗也远低于总功耗的 1%。RAM 具有相似的特性;微基准测试表明,在某些工作负载中 RAM 功耗可能超过 CPU 功耗,但在实际情况下,CPU 功率比 RAM 高出两倍或更多。音频显示出大部分静态功耗在 28-34 mW 范围内。总体而言,RAM、音频和 SD 对功耗的影响很小设备,因此几乎没有能量优化的潜力。”

正如本文和其他论文所说(请参阅本文末尾的完整参考列表),能耗取决于应用程序用例场景,以及在您的应用程序和其他应用程序执行期间使用其他硬件组件的频率和持续时间应用程序执行时上下文切换的应用程序。

纯粹从软件测量能源消耗是非常困难的。Kristopher 提到的 Epof 论文可能是我在该领域看到的最新和最完整的成果:

[38] Abhinav Pathak、Y. Charlie Hu 和 Ming Zhang(2012 年),“使用 Eprof 对智能手机进行精细能源核算”,EuroSys'12,瑞士伯尔尼,2012 年 4 月 10-13 日 。http://research .microsoft.com/en-us/people/mzh/eurosys-2012.pdf

截至 2012 年初,作者计划在今年晚些时候将他们的软件作为开源软件发布,但我不知道目前的情况。

另一篇要研究的论文是在 Google Play 上制作 PowerTutor 应用程序的论文,它是密歇根大学和谷歌之间的合作:

[34] Lide Zhang、Birjodh Tiwana、Zhiyun Qian、Zhaoguang Wang、Robert P. Dick、Zuoqing Morley Mao 和 Lei Yang,“智能手机的准确在线功率估计和基于电池行为的自动功率模型生成”,发表在 Proceedings of第八届 IEEE/ACM/IFIP 硬件/软件协同设计和系统综合国际会议,美国亚利桑那州斯科茨代尔,2010 年。 http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/ pubs/archive/39990.pdf

他们只使用软件进行能源使用建模,但要产生准确的结果,必须首先在特定设备上开发模型,而不仅仅是使用软件。

如果您要询问进程消耗的内存量与能源使用量之间的相关性,我不记得曾看过一篇专门衡量这一点的论文。但是,通常我会认为具有较大内存消耗的进程还需要更多的 CPU 周期来执行以利用此内存,这将导致更大的能量消耗。

今年早些时候,我完成了关于智能移动软件为基于位置的服务节省能源的论文,并阅读了一堆关于移动能源消耗和过程中的分析的论文以下是我引用的参考资料,它们还讨论了移动应用程序中的一般能源消耗,以防它们有用。

[26] Jeff Sharkley (2009),“Coding for Life--Battery Life, That Is”,Google I/O 2009,加利福尼亚州旧金山,2009 年 5 月 27 日 。http://www.google.com/events /io/2009/sessions/CodingLifeBatteryLife.html

[27] Robert Mayo 和 Parthasarathy Ranganathan,“移动设备中的能源消耗:为什么未来系统需要需求——感知能量缩减——电力感知计算机系统”。卷。3164,B. Falsafi 和 T. VijayKumar,编,编:Springer Berlin / Heidelberg,2005 年,第 301-463 页。 http://goo.gl/8ClFQ

[28] Gerard Bosch Creus 和 Mika Kuulusa,使用内置功率分析优化移动软件:Springer,2007 年。http: //goo.gl/YlNmU

[29] Aaron Carroll 和 Gernot Heiser,“智能手机功耗分析”,发表在 2010 USENIX 年度技术会议论文集上,波士顿,马萨诸塞州,2010 年 。http://www.nicta.com .au/pub?doc=3587

[30] Aqeel Mahesri 和 Vibhore Vardhan,“现代笔记本电脑上的功耗故障 - 功耗感知计算机系统”。卷。3471,B. Falsafi 和 T. VijayKumar,编,编:Springer Berlin / Heidelberg,2005 年,第 165-180 页。 http://goo.gl/D7XDL

[31] Rajesh Palit、Ajit Singh 和 Kshirasagar Naik,“便携式无线设备应用程序的能源成本建模”,在第 11 届无线和移动系统建模、分析和仿真国际研讨会论文集上发表,英国温哥华哥伦比亚,加拿大,2008。http ://dl.acm.org/citation.cfm?id=1454562

[32] T. Farrell、R. Lange 和 K. Rothermel (2007),“使用早期基于距离的报告对移动对象进行节能跟踪”,移动和无处不在的系统:网络和服务,2007 年。MobiQuitous 2007 年。第四届年度国际会议,第 1-8 页,2007 年 8 月 6-10 日 。http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=4450984& url=http%3A%2F%2Fieeexplore.ieee .org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D4450984

[34] Lide Zhang、Birjodh Tiwana、Zhiyun Qian、Zhaoguang Wang、Robert P. Dick、Zuoqing Morley Mao 和 Lei Yang,“智能手机的准确在线功率估计和基于电池行为的自动功率模型生成”,发表在 Proceedings of第八届 IEEE/ACM/IFIP 硬件/软件协同设计和系统综合国际会议,美国亚利桑那州斯科茨代尔,2010 年。 http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/ pubs/archive/39990.pdf

[35] J. Eberle and G. P. Perrucci (2011), "Energy measurements campaign for positioning methods on State-of-the-Art smartphones," in Consumer Communications and Networking Conference (CCNC), 2011 IEEE, pp. 937-941, 9-12 Jan. 2011. http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5766645&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5766645

[36] M. Kjaergaard (2012), "Minimizing the Power Consumption of Location-Based Services on Mobile Phones," Pervasive Computing, IEEE, Vol. 11 pp. 67-73. http://goo.gl/ymJuZ

[38] Abhinav Pathak、Y. Charlie Hu 和 Ming Zhang(2012 年),“使用 Eprof 对智能手机进行精细能源核算”,EuroSys'12,瑞士伯尔尼,2012 年 4 月 10-13 日 。http://research .microsoft.com/en-us/people/mzh/eurosys-2012.pdf

于 2012-10-22T02:41:41.413 回答
2

内存使用量和电池使用量之间没有相关性。存储“无”与在内存中存储“某事”所需的能量相同。

如果有很多阅读和写作正在进行,那么它确实会影响它,但只是在那里不会。

于 2012-10-16T02:15:01.737 回答
1

您应该看一下Eprof相关论文

使用 Eprof 对智能手机进行细粒度能源核算

给出了工具的说明。答案是每个进程的内存使用量并不是真正导致电池耗尽的原因,更多的是这些单独的应用程序执行的操作。不过,我敦促您阅读这篇论文并在您自己的应用程序上使用该工具来弄清楚它是如何工作的!

于 2012-10-16T02:09:47.417 回答