当我第一次安装 16.04 LTS 时,在内核 4.4.0 上,我的电池寿命平均约为 3 小时,但我升级到 4.5.2以解决挂起问题和其他一些问题,现在不到1.40 小时,即使在低亮度下。
什么可能导致内核之间的下降?4.5.2 是稳定的,升级到 4.4.8 (lts) 时也发生了同样的事情。
我正在附加 TLP 输出。我迫切希望使电池寿命更长。
unname -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
我对正在使用的两个内核(4.4.0 和 4.5.2)进行了tlp -stat 输出,我能注意到的唯一区别是最新的内核 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:可能值得注意的是,我使用了混合图形系统 INtel 和 ATI,但我没有安装任何专有驱动程序,也没有手动升级任何驱动程序。
编辑 3: sudo tail -f -n 1000 /var/log/syslog 启动 TLP 时:
^[[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
您已安装
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
未正确链接到内核的一部分。这将对配备 Intel CPU 的笔记本电脑的电池寿命产生很大影响,因为默认策略是以牺牲能量消耗(以及电池寿命)为代价来最大化性能。
我可能是错的,
x86_energy_perf_policy
可能会被贬值并且TLP
还没有赶上,但这看起来像是一个严重的内核错误。我可以尝试修补你的内核来解决这个问题,但是这个问题会影响 Linux 内核的这个版本和后续版本,直到它得到解决,所以我建议你通过ubuntu-bug
在终端输入来引发错误。如果有帮助,请随时将此答案的一部分粘贴到您的错误报告中。为了回答我自己的问题,问题是在双显卡系统中,较新的内核会同时加载节能和独立的 GPU,而 16.04 LTS 附带的默认安装内核不会,随后风扇和电池将是消耗更多。
这可以通过在启动时创建和使用 radeonoff 脚本来解决,或者就像我解决的那样,在 BIOS 中禁用可切换的图形选项。临时解决方案,直到 AMDGPU 更加发达。