我终于找到了为个别流程获取TotalPss的方法。现在我关心的是,如何找到每个android进程的电池消耗,如果没有直接的方法找出它,每个进程的内存使用量和电池消耗之间是否有任何关联?我可以研究哪些研究论文?
答案 0 :(得分:17)
是的,内存使用量,内存访问次数和能耗之间存在正相关关系。换句话说,访问的内存越多,消耗的能量就越多。
然而,能量的消耗在很大程度上取决于应用程序与其交互的其他硬件组件的能量使用(例如,CPU,显示器,无线电,GPS等),因为它通过Android平台API执行,虚拟机和操作系统。这是因为内存不是在真空中使用,研究表明,与用作app的其他硬件组件相比,RAM消耗的能量相对较少。换句话说,如果正在进行内存访问,那是因为CPU正在执行,这比CPU处于空闲状态时消耗的能量更多。
例如,根据对HTC Dream(G1)和Nexus One设备的测试,请考虑以下引用,来自:
[29] Aaron Carroll和Gernot Heiser,"智能手机功耗分析," 2010年USENIX年度技术会议上的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对设备的功耗几乎没有影响,因此几乎没有提供能源优化的潜力。"
正如本文和其他论文所述(参见本文末尾的完整参考文献列表),能耗取决于应用程序用例场景,以及在执行期间使用其他硬件组件的频率和持续时间。应用程序和其他应用程序在应用程序执行时进行上下文切换。
纯粹从软件中测量能耗非常困难。克里斯托弗提到的Epof论文可能是我在这方面看到的最新和最完整的努力:
[38] Abhinav Pathak,Y。Charlie Hu和Ming Zhang(2012)," Eprof智能手机细粒能源会计," 2012年4月10日至13日,瑞士伯尔尼的EuroSys 12。http://research.microsoft.com/en-us/people/mzh/eurosys-2012.pdf
截至2012年初,作者计划在今年晚些时候将其软件作为开放源代码发布,但我不知道目前的情况。
要检查的另一篇论文是产生PowerTutor app on Google Play的论文,这是密歇根大学和谷歌之间的合作:
[34]张立德,Birjodh Tiwana,钱志云,王兆光,罗伯特P.迪克,卓清莫利和杨磊,以及#34;基于智能手机的电力模型生成的准确在线功率估算和自动电池行为, " 2010年在美国亚利桑那州斯科茨代尔举行的第八届IEEE / ACM / IFIP硬件/软件协同设计和系统综合国际会议论文集上发表。http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/39990.pdf
他们只进行纯软件能源使用建模,但为了产生准确的结果,必须首先使用不仅仅是软件在特定设备上开发模型。
如果您询问过程消耗的内存量与能源使用量之间的相关性,我不记得曾经回忆过一篇专门测量过这种情况的论文。但是,通常我认为具有更大内存消耗的进程也需要更多的CPU周期才能执行以利用此内存,这会导致更大的能耗。
今年早些时候,我在智能移动软件上整理了my dissertation以节省基于位置的服务的能源,并阅读了大量关于移动能耗和流程分析的论文。以下是我引用的参考文献,其中还讨论了移动应用程序环境中的一般能耗,以防它们有用。
[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,Eds。,ed:Springer Berlin / Heidelberg,2005,pp.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年USENIX会议论文集,2010年,马萨诸塞州波士顿。http://www.nicta.com.au/pub?doc=3587
[30] Aqeel Mahesri和Vibhore Vardhan,"现代笔记本电脑上的功耗分解 - 功耗感知计算机系统。"卷。 3471,B.Falsafi和T.VijayKumar,Eds。,ed:Springer Berlin / Heidelberg,2005,pp.165-180。 http://goo.gl/D7XDL
[31] Rajesh Palit,Ajit Singh和Kshirasagar Naik,"模拟便携式无线设备上应用的能源成本,"于2008年加拿大不列颠哥伦比亚省温哥华举行的第11届无线和移动系统建模,分析和仿真国际研讨会论文集上发表。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]张立德,Birjodh Tiwana,钱志云,王兆光,罗伯特P.迪克,卓清莫利和杨磊,以及#34;基于智能手机的电力模型生成的准确在线功率估算和自动电池行为, " 2010年在美国亚利桑那州斯科茨代尔举行的第八届IEEE / ACM / IFIP硬件/软件协同设计和系统综合国际会议论文集上发表。http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/39990.pdf
[35] J. Eberle和G. P. Perrucci(2011),"用于最先进智能手机定位方法的能量测量活动,"在消费者通信和网络会议(CCNC),2011 IEEE,pp.937-941,2011年1月9日至12日。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),"最大限度地降低移动电话上基于位置的服务的功耗,"普适计算,IEEE,Vol。 11页,67-73。 http://goo.gl/ymJuZ
[38] Abhinav Pathak,Y。Charlie Hu和Ming Zhang(2012)," Eprof智能手机细粒能源会计," 2012年4月10日至13日,瑞士伯尔尼的EuroSys 12。http://research.microsoft.com/en-us/people/mzh/eurosys-2012.pdf
答案 1 :(得分:2)
内存使用与电池使用之间没有关联。它需要相同的能量来存储“没有”,因为它在内存中存在“某些东西”。
如果正在进行大量的阅读和写作,那么肯定会影响它,但只是在那里没有。
答案 2 :(得分:1)
您应该查看Eprof
,关联的paper:
使用Eprof的智能手机上的细粒度能源会计
提供该工具的帐户。答案是,基于每个进程的内存使用量并不是电池消耗的真正原因,而是单个应用程序执行的操作。我恳请您阅读论文,并在您自己的应用程序上使用该工具来弄清楚它是如何工作的!