如何监控笔记本电脑电池的使用情况?

如何监控笔记本电脑电池的使用情况?

我的 HP-745 G2 笔记本电脑已充满电,然后我拔下插头并合上盖子。

当我下次(一两天后)打开盖子打开它时,电池已经完全耗尽了。

uname -a
Linux HP-745-G2 4.10.14-041014-generic #201705031501 SMP Wed May 3 19:03:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

grep HandleLid /etc/systemd/logind.conf    
HandleLidSwitch=hibernate
#HandleLidSwitchDocked=ignore

关于如何防止这种情况,有各种类似的问题和建议(尽管它们对我来说似乎不起作用)。

然而,我感兴趣的是以某种方式监控电池使用情况的方法,例如

  • 它冬眠了吗?
  • 如果不是,是什么阻止了它发生?
  • 哪些进程消耗的电量最多

等等,等等

android 中是否有类似 batterystats 的东西可以通过命令行或应用程序进行分析?

答案1

要检查笔记本电脑是否处于休眠、睡眠或活动状态,您可以检查文件夹中的系统日志文件/var/log,例如使用

grep -i 'shutdown\|sleeping\|hibernat\|resumed' /var/log/syslog*

据我所知,没有任何软件可以保存所有进程的电池使用历史记录,至少没有类似 Android 的软件。默认的“电量统计”应用程序中有一些统计数据,但它只显示电池消耗/充电的速度,而不是哪些进程导致了这种情况。

你能做的最好的事情就是安装一个应用程序电源TOPsudo apt install powertop)。它显示哪些进程最活跃地使用 CPU。PowerTOP 使用电池运行一段时间并进行足够的测量后,它将开始以瓦数显示进程功耗。

Powertop 报告截图

但是我怀疑您是否可以用它来检查休眠或挂起期间的功耗。我尝试sudo powertop --html=powertop.html --time=300在让笔记本电脑进入睡眠模式时生成报告,但似乎程序在系统睡眠时停止测量。此外,当您使用 --time= 选项和/或让系统进入睡眠模式时,并非所有报告的统计数据似乎都是准确的。

相关内容