我的 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 的软件。默认的“电量统计”应用程序中有一些统计数据,但它只显示电池消耗/充电的速度,而不是哪些进程导致了这种情况。
你能做的最好的事情就是安装一个应用程序电源TOP(sudo apt install powertop
)。它显示哪些进程最活跃地使用 CPU。PowerTOP 使用电池运行一段时间并进行足够的测量后,它将开始以瓦数显示进程功耗。
但是我怀疑您是否可以用它来检查休眠或挂起期间的功耗。我尝试sudo powertop --html=powertop.html --time=300
在让笔记本电脑进入睡眠模式时生成报告,但似乎程序在系统睡眠时停止测量。此外,当您使用 --time= 选项和/或让系统进入睡眠模式时,并非所有报告的统计数据似乎都是准确的。