当我第一次安装 16.04 LTS(内核为 4.4.0)时,我的电池续航时间约为平均 3 小时, 但是我升级至 4.5.2解决暂停问题和其他一些问题,现在它小于1.40 小时,即使在低亮度下。
什么原因导致内核之间出现下降?4.5.2 是稳定的,升级到 4.4.8 (lts) 时也发生了同样的事情。
我正在连接 TLP 输出。我迫切希望延长电池寿命。
uname -a:
Linux gaj-Lenovo-Z51-70 4.5.2-040502-generic #201604200335 SMP Wed Apr 20 07:37:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
我做了一个tlp-stat 输出两个内核(4.4.0 和 4.5.2)的运行情况相同,我注意到的唯一区别是,最新内核 4.5.2 输出以下内容,而 4.4.0 可以节省电池:
/sys/devices/system/cpu/intel_pstate/min_perf_pct = 18
/sys/devices/system/cpu/intel_pstate/max_perf_pct = 100
/sys/devices/system/cpu/intel_pstate/no_turbo = 0
x86_energy_perf_policy: program for your kernel not installed.
当我尝试安装 linux-tools 时,如TLP 的故障排除网站,其中表示
tlp-stat -p shows "x86_energy_perf_policy: program [for your kernel] not installed."
Depending on the distro your mileage may vary:
Ubuntu: install the meta-package linux-tools (or linux-tools-lts-* for HWE stack kernels), no package available for mainline kernels.
我得到:
Package linux-tools is a virtual package provided by:
linux-tools-virtual 4.4.0.21.22
linux-tools-lowlatency 4.4.0.21.22
linux-tools-generic 4.4.0.21.22
You should explicitly select one to install.
所以没有适用于 4.5.2 内核的工具。或者我应该安装 HWE 堆栈工具?与稳定的 4.5.2 内核相比,HWE 是什么意思?
非常感谢。
编辑:在 4.5.2 中,我也能更频繁、更强烈地听到风扇的声音,甚至在打开 Chrome、Skype 等时也是如此。
编辑2:值得注意的是,我使用英特尔和 ATI 的混合图形系统,但我没有安装任何专有驱动程序,也没有手动升级任何驱动程序。
编辑3:启动TLP时sudo tail -f -n 1000 /var/log/syslog:
^[[B^[[AMay 5 21:52:57 gaj-Lenovo-Z51-70 kernel: [ 7945.966502] acpi_call: Cannot get handle: Error: AE_NOT_FOUND
May 5 21:52:57 gaj-Lenovo-Z51-70 kernel: [ 7945.976707] acpi_call: Cannot get handle: Error: AE_NOT_FOUND
May 5 21:53:12 gaj-Lenovo-Z51-70 kernel: [ 7961.360242] acpi_call: Cannot get handle: Error: AE_NOT_FOUND
答案1
您已TLP
在笔记本电脑上安装了延长电池寿命的程序,但电池寿命仍然很短。当您查看输出时,您tlp -stat output
发现了错误消息x86_energy_perf_policy: program for your kernel not installed
。
当您尝试安装能源性能策略时,sudo apt-get install linux-tools-generic
安装看似有效,但并没有任何效果。
我查看了代码,x86_energy_perf_policy
没有发现任何问题。它似乎不是特定于内核的,因此看起来是x86_energy_perf_policy
哪个部分linux-tools-common
没有正确链接到内核。
这将对配备英特尔 CPU 的笔记本电脑的电池寿命产生很大影响,因为默认策略是以牺牲能源消耗(从而缩短电池寿命)为代价来最大化性能。
我可能错了,x86_energy_perf_policy
可能会被贬低,而且TLP
还没有赶上,但这看起来像是一个严重的内核错误。我可以尝试修补您的内核来解决这个问题,但这个问题会影响此版本和后续版本的 Linux 内核,直到它得到解决,所以我建议您通过ubuntu-bug
在终端输入来提出错误。如果这有帮助,请随意将此答案的部分内容粘贴到您的错误报告中。
答案2
回答我自己的问题,问题在于在双显卡系统中,较新的内核会同时加载省电和独立 GPU,而 16.04 LTS 附带的默认安装内核则不会,因此风扇和电池的耗电量会更大。
这个问题可以通过在启动时创建并使用 radeonoff 脚本来解决,或者简单地像我解决的那样,禁用 BIOS 中的可切换图形选项。临时解决方案,直到 AMDGPU 更加发达。