硬核观察 #1062 AlmaLinux 不再追求与 RHEL 的 1:1 兼容性
AlmaLinux 不再追求与 RHEL 的 1:1 兼容性随着红帽对 RHEL 源代码库的限制访问，虽然 Rocky Linux 已经表示 找到 了继续发布 1:1 克隆品的解决方案，但 AlmaLinux “决定放弃与 RHEL 1:1（兼容）的目标”。退而求其次，AlmaLinux 将在可能的范围内与 RHEL 保持一致并兼容应用二进制接口（ABI），这样在 RHEL 上运行的软件也可以在 AlmaLinux 上运行。对于典型的用户，这将意味着你在使用 AlmaLinux 时几乎不会有什么变化。最大的变化是，AlmaLinux 将不再与红帽保持 “问题级的兼容性”，现在可以接受红帽发布周期之外的问题修复。虽然这意味着一些 AlmaLinux 的用户可能会遇到 RHEL 中没有的问题，但 AlmaLinux 也可能会接受尚未被 RHEL 接受的补丁。消息来源：Almalinux老王点评：这就是红帽的目的吧？最终这些精确克隆品的结果可能都这样吧。但是我很怀疑红帽以后还会给建立 ABI 兼容也制造“没必要提供的”麻烦。好莱坞想要永远免费得到龙套演员的人工智能复制品好莱坞的演员们将要举行一场罢工，主要的原因是好莱坞电影公司的一项以“保护演员的数字肖像权”为名义的人工智能提案。在该提案中，那些经常出现在背景中的龙套演员会被一次性扫描，而电影公司将拥有他们的扫描件、形象、肖像，并且能在他们想要的任何项目中永远使用，无需同意，无需补偿。使用生成式人工智能一直是双方谈判的主要症结之一。组织罢工的演员工会表示，“如果我们现在不站得高一点，我们都会有麻烦，我们都会面临被机器取代的危险。”消息来源：The Verge老王点评：别说是龙套，就是主角和配角，将来都会全是 AI 制品，早晚而已。2027 年欧盟销售的智能手机电池需要可更换6 月中旬，欧洲议会投票通过新立法，要求智能手机等消费设备的电池必须易于拆卸和更换。本周，欧洲理事会正式同意了这项新法规。任何想要在欧盟销售手机的制造商必须确保这些手机在 2027 年之前拥有可更换电池。消息来源：Android Authority老王点评：自从智能手机开始流行，不知道为什么大家就接受了电池不可更换的做法。现在，欧洲带了一个好头。回音Bcachefs 在进入 Linux 6.5 受阻后，计划两个月 再次尝试 进入 Linux 6.6。
OpenShift 是红帽增长最快的部分红帽也许是最著名的 Linux 操作系统供应商，但该公司的 OpenShift 平台才是其增长最快的部分。IBM 在其财报中称 OpenShift 是一项 10 亿美元的业务。OpenShift 基于开源的 Kubernetes 容器编排系统，这是红帽将商业和开源结合起来，为所有参与者带来利益的又一个例子。消息来源：Venture Beat老王点评：虽然知道操作系统系统厂商都逐渐扩展其营利方向，但是我还是为 OpenShift 的发展吃惊。Facebook 被指秘密耗尽用户的电池以测试功能或问题的名义，比如测试应用程序运行速度或图像的加载方式，“偷偷” 耗尽某人的手机电量，这种做法被称为 “负测试”。一名前 Facebook 雇员因拒绝执行 “负测试” 而被解雇，他被告知这样 “通过伤害少数人，可以帮助更多的人”。消息来源：《纽约邮报》老王点评：可能，在我们不知道的情况下，也被 “负测试” 吧？拟议的 Linux 补丁将允许在构建时禁用 CPU 安全缓解措施如果想避免内核中不断增加的 CPU 安全缓解措施及其相关的性能开销，有一个拟议的 Linux 内核补丁将提供一个新的 Kconfig 构建时选项，来构建一个不安全的内核。之前，有一个等同的 Linux 内核启动参数 mitigations=off，可以允许在运行时禁用针对这些 CPU 问题的各种内核内安全缓解措施。这个新的构建选项可以避免在启动时忘记设置该内核参数。消息来源：Phoronix老王点评：虽然在生产环境或对安全有严格要求的环境中，应该坚持启用这些安全缓解措施，但也可见这些缓解措施对性能的损耗不小。
如何在电池充满或低电量时获得电池状态通知
对于类 Unix 用户来说，Linux 笔记本是不错的选择，但它经常会耗尽电池。我试过很多 Linux 操作系统，但没有像 Windows 那样电池寿命长。充电时间长了会对电池造成损害，所以在电池 100% 充满时要拔掉电源线。电池充电或放电时没有默认的应用程序来通知，需要安装第三方应用来通知你。为此，我通常会安装 Battery Monitor，但它已经被废弃，所以我创建了一个 shell 脚本来获取通知。笔记本电池充放电状态可以通过以下两个命令来识别。使用 acpi 命令。$ acpi -b Battery 0: Discharging, 71%, 00:58:39 remaining 使用 upower 命令。$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -w 'state|percentage' | awk '{print $2}' discharging 64% 方法 1：当电池电量高于 95% 或低于 20% 时，用 Shell 脚本发送警报这个脚本在启动时在后台运行，每分钟检查一次电池状态，然后在电池电量超过 95% 或放电时电量低于 20% 时发送通知。警报会直到你的电池电量超过 20% 或低于 95% 时才会停止。$ sudo vi /opt/scripts/battery-status.sh #!/bin/bash while true do battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'` if [ $battery_level -ge 95 ]; then notify-send "Battery Full" "Level: ${battery_level}%" paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga elif [ $battery_level -le 20 ]; then notify-send --urgency=CRITICAL "Battery Low" "Level: ${battery_level}%" paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga fi sleep 60 done 脚本完成后，设置可执行权限：$ sudo chmod +x /opt/scripts/battery-status.sh 最后，将该脚本添加到用户配置文件的底部。对于全局范围来说，你需要在 /etc/profile 文件中添加该脚本。$ vi /home/magi/.profile /opt/scripts/battery-status.sh & 重启你的 Linux 系统来检查这点。$ sudo reboot 方法 2：当电池充电（高于 95%）或放电（低于 20%）时发送通知的 Shell 脚本这个脚本与上面的脚本类似，但它是由交流适配器负责。如果你插上了交流适配器，而且电池的电量超过 95%，它就会发出一个带有声音的通知，但是这个通知不会停止，直到你拔掉交流适配器。如果你拔掉交流适配器，你将永远不会再看到通知，直到你的电池电量下降到 20%。$ sudo vi /opt/scripts/battery-status-1.sh #!/bin/bash while true do export DISPLAY=:0.0 battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'` if on_ac_power; then if [ $battery_level -ge 95 ]; then notify-send "Battery Full" "Level: ${battery_level}% " paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga fi else if [ $battery_level -le 20 ]; then notify-send --urgency=CRITICAL "Battery Low" "Level: ${battery_level}%" paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga fi fi sleep 60 done 脚本完成后，设置执行权限：$ sudo chmod +x /opt/scripts/battery-status-1.sh 最后将脚本添加到用户配置文件的底部。对于全局范围来说，你需要在 /etc/profile 文件中添加该脚本。$ vi /home/magi/.profile /opt/scripts/battery-status-1.sh & 重启系统来检查：$ sudo reboot 参考： stackexchangevia: https://www.2daygeek.com/linux-low-full-charge-discharge-battery-notification/作者：Magesh Maruthamuthu 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
在 Ubuntu 中使用 Slimbook Battery Optimizer 切换电源模式
Slimbook Battery Optimizer 是一个美观实用的指示器小程序，它可以让你在安装了 Linux 的笔记本上快速切换电源模式来延长续航时间。Slimbook 是一个销售 预装 Linux 的笔记本电脑 的西班牙电脑制造商，他们发布了一款好用的小程序，用来在基于 Ubuntu 的 Linux 发行版下调整电池性能。因为 Slimbook 销售他们自己的 Linux 系统，所以他们制作了一些在 Linux 上用于调整他们自己硬件性能的小工具。Battery Optimizer 就是这样一个工具。要使用这个实用小程序，你不必购买 Slimbook 的产品，因为 Slimbook 已经将它在 他们的官方 PPA 源 发行了。Slimbook Battery Optimizer 简介这个程序叫 Slimbook Battery。它是一个常驻顶栏的指示器小程序，使得你可以快速切换电源模式。你可能在 Windows 中见过类似的程序。Slimbook Battery 和它们一样，提供了类似的电源计划：节能：最大程度延长电池续航时间平衡：性能与节能间的最佳平衡高性能：最大程度提高性能你可以在高级模式中配置这些模式：如果你觉得你把设置调乱了，你可以用“恢复默认设置”的按钮还原它。你也可以修改像程序自启或默认电源模式这样的通用设置。Slimbook 有专门为多种电源管理参数提供的页面。如果你希望自己配置，请参照 此页。不过，我认为 Slimbook 的界面需要一些改进。例如，某些页面上的“问题标记”的图标应该改为可点击的，以此提供更多信息。然而，在我写这篇文章时，那个标记仍然无法点击。总的来说，Slimbook Battery 是一个小巧精美的软件，你可以用它来快速切换电源模式。如果你决定在 Ubuntu 及其衍生发行版上（比如 Linux Mint 或 elementary OS 等），你可以使用官方 PPA 源。在基于 Ubuntu 的发行版上安装 Slimbook Battery打开终端，一步一步地使用以下命令：sudo add-apt-repository ppa:slimbook/slimbook sudo apt update sudo apt install slimbookbattery安装好之后，在菜单中搜索 Slimbook Battery：在你点击它之后，你会发现它出现在了顶栏。你可以在这里选择你希望使用的电源模式。卸载 Slimbook Battery如果你不再使用它，你可以通过以下命令来卸载它：sudo apt remove slimbookbattery sudo add-apt-repository -r ppa:slimbook/slimbook在我看来，这样的应用程序为某些特定的目的服务，这是值得鼓励的。这个工具给了你一条调整电源模式的捷径，和调整性能的更多选项。你用过 Slimbook Battery 吗？你觉得它如何？via: https://itsfoss.com/slimbook-battry-optimizer-ubuntu/作者：Abhishek Prakash 选题：lujun9972 译者：zhs852 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
TLP：一个可以延长 Linux 笔记本电池寿命的高级电源管理工具
笔记本电池是针对 Windows 操作系统进行了高度优化的，当我在笔记本电脑中使用 Windows 操作系统时，我已经意识到这一点，但对于 Linux 来说却不一样。多年来，Linux 在电池优化方面取得了很大进步，但我们仍然需要做一些必要的事情来改善 Linux 中笔记本电脑的电池寿命。当我考虑延长电池寿命时，我没有多少选择，但我觉得 TLP 对我来说是一个更好的解决方案，所以我会继续使用它。在本教程中，我们将详细讨论 TLP 以延长电池寿命。我们之前在我们的网站上写过三篇关于 Linux 笔记本电池节电工具 的文章：PowerTOP 和 电池充电状态。TLPTLP 是一款自由开源的高级电源管理工具，可在不进行任何配置更改的情况下延长电池寿命。由于它的默认配置已针对电池寿命进行了优化，因此你可能只需要安装，然后就忘记它吧。此外，它可以高度定制化，以满足你的特定要求。TLP 是一个具有自动后台任务的纯命令行工具。它不包含GUI。TLP 适用于各种品牌的笔记本电脑。设置电池充电阈值仅适用于 IBM/Lenovo ThinkPad。所有 TLP 设置都存储在 /etc/default/tlp 中。其默认配置提供了开箱即用的优化的节能设置。以下 TLP 设置可用于自定义，如果需要，你可以相应地进行必要的更改。TLP 功能内核笔记本电脑模式和脏缓冲区超时处理器频率调整，包括 “turbo boost”/“turbo core”限制最大/最小的 P 状态以控制 CPU 的功耗HWP 能源性能提示用于多核/超线程的功率感知进程调度程序处理器性能与节能策略（x86_energy_perf_policy）硬盘高级电源管理级别（APM）和降速超时（按磁盘）AHCI 链路电源管理（ALPM）与设备黑名单PCIe 活动状态电源管理（PCIe ASPM）PCI(e) 总线设备的运行时电源管理Radeon 图形电源管理（KMS 和 DPM）Wifi 省电模式关闭驱动器托架中的光盘驱动器音频省电模式I/O 调度程序（按磁盘）USB 自动暂停，支持设备黑名单/白名单（输入设备自动排除）在系统启动和关闭时启用或禁用集成的 wifi、蓝牙或 wwan 设备在系统启动时恢复无线电设备状态（从之前的关机时的状态）无线电设备向导：在网络连接/断开和停靠/取消停靠时切换无线电禁用 LAN 唤醒挂起/休眠后恢复集成的 WWAN 和蓝牙状态英特尔处理器的动态电源降低 —— 需要内核和 PHC-Patch 支持电池充电阈值 —— 仅限 ThinkPad重新校准电池 —— 仅限 ThinkPad如何在 Linux 上安装 TLPTLP 包在大多数发行版官方存储库中都可用，因此，使用发行版的 包管理器 来安装它。对于 Fedora 系统，使用 DNF 命令 安装 TLP。$ sudo dnf install tlp tlp-rdwThinkPad 需要一些附加软件包。$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm $ sudo dnf install http://repo.linrunner.de/fedora/tlp/repos/releases/tlp-release.fc$(rpm -E %fedora).noarch.rpm $ sudo dnf install akmod-tp_smapi akmod-acpi_call kernel-devel安装 smartmontool 以显示 tlp-stat 中 S.M.A.R.T. 数据。$ sudo dnf install smartmontools对于 Debian/Ubuntu 系统，使用 APT-GET 命令 或 APT 命令 安装 TLP。$ sudo apt install tlp tlp-rdwThinkPad 需要一些附加软件包。$ sudo apt-get install tp-smapi-dkms acpi-call-dkms安装 smartmontool 以显示 tlp-stat 中 S.M.A.R.T. 数据。$ sudo apt-get install smartmontools当基于 Ubuntu 的系统的官方软件包过时时，请使用以下 PPA 存储库，该存储库提供最新版本。运行以下命令以使用 PPA 安装 TLP。$ sudo add-apt-repository ppa:linrunner/tlp $ sudo apt-get update $ sudo apt-get install tlp对于基于 Arch Linux 的系统，使用 Pacman 命令 安装 TLP。$ sudo pacman -S tlp tlp-rdwThinkPad 需要一些附加软件包。$ pacman -S tp_smapi acpi_call安装 smartmontool 以显示 tlp-stat 中 S.M.A.R.T. 数据。$ sudo pacman -S smartmontools对于基于 Arch Linux 的系统，在启动时启用 TLP 和 TLP-Sleep 服务。$ sudo systemctl enable tlp.service $ sudo systemctl enable tlp-sleep.service对于基于 Arch Linux 的系统，你还应该屏蔽以下服务以避免冲突，并确保 TLP 的无线电设备切换选项的正确操作。$ sudo systemctl mask systemd-rfkill.service $ sudo systemctl mask systemd-rfkill.socket对于 RHEL/CentOS 系统，使用 YUM 命令 安装 TLP。$ sudo yum install tlp tlp-rdw安装 smartmontool 以显示 tlp-stat 中 S.M.A.R.T. 数据。$ sudo yum install smartmontools对于 openSUSE Leap 系统，使用 Zypper 命令 安装 TLP。$ sudo zypper install TLP安装 smartmontool 以显示 tlp-stat 中 S.M.A.R.T. 数据。$ sudo zypper install smartmontools成功安装 TLP 后，使用以下命令启动服务。$ systemctl start tlp.service使用方法显示电池信息$ sudo tlp-stat -b 或 $ sudo tlp-stat --battery--- TLP 1.1 -------------------------------------------- +++ Battery Status /sys/class/power_supply/BAT0/manufacturer = SMP /sys/class/power_supply/BAT0/model_name = L14M4P23 /sys/class/power_supply/BAT0/cycle_count = (not supported) /sys/class/power_supply/BAT0/energy_full_design = 60000 [mWh] /sys/class/power_supply/BAT0/energy_full = 48850 [mWh] /sys/class/power_supply/BAT0/energy_now = 48850 [mWh] /sys/class/power_supply/BAT0/power_now = 0 [mW] /sys/class/power_supply/BAT0/status = Full Charge = 100.0 [%] Capacity = 81.4 [%]显示磁盘信息$ sudo tlp-stat -d 或 $ sudo tlp-stat --disk--- TLP 1.1 -------------------------------------------- +++ Storage Devices /dev/sda: Model = WDC WD10SPCX-24HWST1 Firmware = 02.01A02 APM Level = 128 Status = active/idle Scheduler = mq-deadline Runtime PM: control = on, autosuspend_delay = (not available) SMART info: 4 Start_Stop_Count = 18787 5 Reallocated_Sector_Ct = 0 9 Power_On_Hours = 606 [h] 12 Power_Cycle_Count = 1792 193 Load_Cycle_Count = 25775 194 Temperature_Celsius = 31 [°C] +++ AHCI Link Power Management (ALPM) /sys/class/scsi_host/host0/link_power_management_policy = med_power_with_dipm /sys/class/scsi_host/host1/link_power_management_policy = med_power_with_dipm /sys/class/scsi_host/host2/link_power_management_policy = med_power_with_dipm /sys/class/scsi_host/host3/link_power_management_policy = med_power_with_dipm +++ AHCI Host Controller Runtime Power Management /sys/bus/pci/devices/0000:00:17.0/ata1/power/control = on /sys/bus/pci/devices/0000:00:17.0/ata2/power/control = on /sys/bus/pci/devices/0000:00:17.0/ata3/power/control = on /sys/bus/pci/devices/0000:00:17.0/ata4/power/control = on显示 PCI 设备信息$ sudo tlp-stat -e 或 $ sudo tlp-stat --pcie$ sudo tlp-stat -e or $ sudo tlp-stat --pcie --- TLP 1.1 -------------------------------------------- +++ Runtime Power Management Device blacklist = (not configured) Driver blacklist = amdgpu nouveau nvidia radeon pcieport /sys/bus/pci/devices/0000:00:00.0/power/control = auto (0x060000, Host bridge, skl_uncore) /sys/bus/pci/devices/0000:00:01.0/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:00:02.0/power/control = auto (0x030000, VGA compatible controller, i915) /sys/bus/pci/devices/0000:00:14.0/power/control = auto (0x0c0330, USB controller, xhci_hcd) ......显示图形卡信息$ sudo tlp-stat -g 或 $ sudo tlp-stat --graphics--- TLP 1.1 -------------------------------------------- +++ Intel Graphics /sys/module/i915/parameters/enable_dc = -1 (use per-chip default) /sys/module/i915/parameters/enable_fbc = 1 (enabled) /sys/module/i915/parameters/enable_psr = 0 (disabled) /sys/module/i915/parameters/modeset = -1 (use per-chip default)显示处理器信息$ sudo tlp-stat -p 或 $ sudo tlp-stat --processor--- TLP 1.1 -------------------------------------------- +++ Processor CPU model = Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver = intel_pstate /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 800000 [kHz] /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq = 3500000 [kHz] /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference = balance_power /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power ...... /sys/devices/system/cpu/intel_pstate/min_perf_pct = 22 [%] /sys/devices/system/cpu/intel_pstate/max_perf_pct = 100 [%] /sys/devices/system/cpu/intel_pstate/no_turbo = 0 /sys/devices/system/cpu/intel_pstate/turbo_pct = 33 [%] /sys/devices/system/cpu/intel_pstate/num_pstates = 28 x86_energy_perf_policy: program not installed. /sys/module/workqueue/parameters/power_efficient = Y /proc/sys/kernel/nmi_watchdog = 0 +++ Undervolting PHC kernel not available.显示系统数据信息$ sudo tlp-stat -s 或 $ sudo tlp-stat --system--- TLP 1.1 -------------------------------------------- +++ System Info System = LENOVO Lenovo ideapad Y700-15ISK 80NV BIOS = CDCN35WW Release = "Manjaro Linux" Kernel = 4.19.6-1-MANJARO #1 SMP PREEMPT Sat Dec 1 12:21:26 UTC 2018 x86_64 /proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-4.19-x86_64 root=UUID=69d9dd18-36be-4631-9ebb-78f05fe3217f rw quiet resume=UUID=a2092b92-af29-4760-8e68-7a201922573b Init system = systemd Boot mode = BIOS (CSM, Legacy) +++ TLP Status State = enabled Last run = 11:04:00 IST, 596 sec(s) ago Mode = battery Power source = battery显示温度和风扇速度信息$ sudo tlp-stat -t 或 $ sudo tlp-stat --temp--- TLP 1.1 -------------------------------------------- +++ Temperatures CPU temp = 36 [°C] Fan speed = (not available)显示 USB 设备数据信息$ sudo tlp-stat -u 或 $ sudo tlp-stat --usb--- TLP 1.1 -------------------------------------------- +++ USB Autosuspend = disabled Device whitelist = (not configured) Device blacklist = (not configured) Bluetooth blacklist = disabled Phone blacklist = disabled WWAN blacklist = enabled Bus 002 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub) Bus 001 Device 003 ID 174f:14e8 control = auto, autosuspend_delay_ms = 2000 -- Syntek (uvcvideo) ......显示警告信息$ sudo tlp-stat -w 或 $ sudo tlp-stat --warn--- TLP 1.1 -------------------------------------------- No warnings detected.状态报告及配置和所有活动的设置$ sudo tlp-stat--- TLP 1.1 -------------------------------------------- +++ Configured Settings: /etc/default/tlp TLP_ENABLE=1 TLP_DEFAULT_MODE=AC TLP_PERSISTENT_DEFAULT=0 DISK_IDLE_SECS_ON_AC=0 DISK_IDLE_SECS_ON_BAT=2 MAX_LOST_WORK_SECS_ON_AC=15 MAX_LOST_WORK_SECS_ON_BAT=60 ...... +++ System Info System = LENOVO Lenovo ideapad Y700-15ISK 80NV BIOS = CDCN35WW Release = "Manjaro Linux" Kernel = 4.19.6-1-MANJARO #1 SMP PREEMPT Sat Dec 1 12:21:26 UTC 2018 x86_64 /proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-4.19-x86_64 root=UUID=69d9dd18-36be-4631-9ebb-78f05fe3217f rw quiet resume=UUID=a2092b92-af29-4760-8e68-7a201922573b Init system = systemd Boot mode = BIOS (CSM, Legacy) +++ TLP Status State = enabled Last run = 11:04:00 IST, 684 sec(s) ago Mode = battery Power source = battery +++ Processor CPU model = Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver = intel_pstate /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave ...... /sys/devices/system/cpu/intel_pstate/min_perf_pct = 22 [%] /sys/devices/system/cpu/intel_pstate/max_perf_pct = 100 [%] /sys/devices/system/cpu/intel_pstate/no_turbo = 0 /sys/devices/system/cpu/intel_pstate/turbo_pct = 33 [%] /sys/devices/system/cpu/intel_pstate/num_pstates = 28 x86_energy_perf_policy: program not installed. /sys/module/workqueue/parameters/power_efficient = Y /proc/sys/kernel/nmi_watchdog = 0 +++ Undervolting PHC kernel not available. +++ Temperatures CPU temp = 42 [°C] Fan speed = (not available) +++ File System /proc/sys/vm/laptop_mode = 2 /proc/sys/vm/dirty_writeback_centisecs = 6000 /proc/sys/vm/dirty_expire_centisecs = 6000 /proc/sys/vm/dirty_ratio = 20 /proc/sys/vm/dirty_background_ratio = 10 +++ Storage Devices /dev/sda: Model = WDC WD10SPCX-24HWST1 Firmware = 02.01A02 APM Level = 128 Status = active/idle Scheduler = mq-deadline Runtime PM: control = on, autosuspend_delay = (not available) SMART info: 4 Start_Stop_Count = 18787 5 Reallocated_Sector_Ct = 0 9 Power_On_Hours = 606 [h] 12 Power_Cycle_Count = 1792 193 Load_Cycle_Count = 25777 194 Temperature_Celsius = 31 [°C] +++ AHCI Link Power Management (ALPM) /sys/class/scsi_host/host0/link_power_management_policy = med_power_with_dipm /sys/class/scsi_host/host1/link_power_management_policy = med_power_with_dipm /sys/class/scsi_host/host2/link_power_management_policy = med_power_with_dipm /sys/class/scsi_host/host3/link_power_management_policy = med_power_with_dipm +++ AHCI Host Controller Runtime Power Management /sys/bus/pci/devices/0000:00:17.0/ata1/power/control = on /sys/bus/pci/devices/0000:00:17.0/ata2/power/control = on /sys/bus/pci/devices/0000:00:17.0/ata3/power/control = on /sys/bus/pci/devices/0000:00:17.0/ata4/power/control = on +++ PCIe Active State Power Management /sys/module/pcie_aspm/parameters/policy = powersave +++ Intel Graphics /sys/module/i915/parameters/enable_dc = -1 (use per-chip default) /sys/module/i915/parameters/enable_fbc = 1 (enabled) /sys/module/i915/parameters/enable_psr = 0 (disabled) /sys/module/i915/parameters/modeset = -1 (use per-chip default) +++ Wireless bluetooth = on wifi = on wwan = none (no device) hci0(btusb) : bluetooth, not connected wlp8s0(iwlwifi) : wifi, connected, power management = on +++ Audio /sys/module/snd_hda_intel/parameters/power_save = 1 /sys/module/snd_hda_intel/parameters/power_save_controller = Y +++ Runtime Power Management Device blacklist = (not configured) Driver blacklist = amdgpu nouveau nvidia radeon pcieport /sys/bus/pci/devices/0000:00:00.0/power/control = auto (0x060000, Host bridge, skl_uncore) /sys/bus/pci/devices/0000:00:01.0/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:00:02.0/power/control = auto (0x030000, VGA compatible controller, i915) ...... +++ USB Autosuspend = disabled Device whitelist = (not configured) Device blacklist = (not configured) Bluetooth blacklist = disabled Phone blacklist = disabled WWAN blacklist = enabled Bus 002 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub) Bus 001 Device 003 ID 174f:14e8 control = auto, autosuspend_delay_ms = 2000 -- Syntek (uvcvideo) Bus 001 Device 002 ID 17ef:6053 control = on, autosuspend_delay_ms = 2000 -- Lenovo (usbhid) Bus 001 Device 004 ID 8087:0a2b control = auto, autosuspend_delay_ms = 2000 -- Intel Corp. (btusb) Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub) +++ Battery Status /sys/class/power_supply/BAT0/manufacturer = SMP /sys/class/power_supply/BAT0/model_name = L14M4P23 /sys/class/power_supply/BAT0/cycle_count = (not supported) /sys/class/power_supply/BAT0/energy_full_design = 60000 [mWh] /sys/class/power_supply/BAT0/energy_full = 51690 [mWh] /sys/class/power_supply/BAT0/energy_now = 50140 [mWh] /sys/class/power_supply/BAT0/power_now = 12185 [mW] /sys/class/power_supply/BAT0/status = Discharging Charge = 97.0 [%] Capacity = 86.2 [%]via: https://www.2daygeek.com/tlp-increase-optimize-linux-laptop-battery-life/作者：Magesh Maruthamuthu 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
PowerTOP：在 Linux 上监视电量使用和改善笔记本电池寿命
我们都知道，现在几乎都从 PC 机换到了笔记本电脑了。但是使用笔记本有个问题，我们希望电池耐用，我们可以使用到每一点电量。所以，我们需要知道电量都去哪里了，是不是浪费了。你可以使用 PowerTOP 工具来查看没有接入电源线时电量都用在了何处。你需要在终端中使用超级用户权限来运行 PowerTOP 工具。它可以访问该电池硬件并测量电量使用情况。什么是 PowerTOPPowerTOP 是一个 Linux 工具，用于诊断电量消耗和电源管理的问题。它是由 Intel 开发的，可以在内核、用户空间和硬件中启用各种节电模式。除了作为一个一个诊断工具之外，PowerTop 还有一个交互模式，可以让你实验 Linux 发行版没有启用的各种电源管理设置。它也能监控进程，并展示其中哪个正在使用 CPU，以及从休眠状态页将其唤醒，也可以找出电量消耗特别高的应用程序。如何安装 PowerTOPPowerTOP 软件包在大多数发行版的软件库中可用，使用发行版的 包管理器 安装即可。对于 Fedora 系统，使用 dnf 命令 来安装 PowerTOP。$ sudo dnf install powertop对于 Debian/Ubuntu 系统，使用 apt-get 命令 或 apt 命令 来安装 PowerTOP。$ sudo apt install powertop对于基于 Arch Linux 的系统，使用 pacman 命令 来安装 PowerTOP。$ sudo pacman -S powertop对于 RHEL/CentOS 系统，使用 yum 命令 来安装 PowerTOP。$ sudo yum install powertop对于 openSUSE Leap 系统，使用 zypper 命令 来安装 PowerTOP。$ sudo zypper install powertop如何使用 PowerTOPPowerTOP 需要超级用户权限，所以在 Linux 系统中以 root 身份运行 PowerTOP 工具。默认情况下其显示 “概览” 页，在这里我们可以看到所有设备的电量消耗情况，也可以看到系统的唤醒秒数。$ sudo powertop PowerTOP v2.9 Overview Idle stats Frequency stats Device stats Tunables The battery reports a discharge rate of 12.6 W The power consumed was 259 J The estimated remaining time is 1 hours, 52 minutes Summary: 1692.9 wakeups/second, 0.0 GPU ops/seconds, 0.0 VFS ops/sec and 54.9% CPU use Usage Events/s Category Description 9.3 ms/s 529.4 Timer tick_sched_timer 378.5 ms/s 139.8 Process [PID 2991] /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8314 -prefMapSize 173895 -schedulerPrefs 00 7.5 ms/s 141.7 Timer hrtimer_wakeup 3.3 ms/s 102.7 Process [PID 1527] /usr/lib/firefox/firefox --new-window 11.6 ms/s 69.1 Process [PID 1568] /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 173895 -schedulerPrefs 0001, 6.2 ms/s 59.0 Process [PID 1496] /usr/lib/firefox/firefox --new-window 2.1 ms/s 59.6 Process [PID 2466] /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00 1.8 ms/s 52.3 Process [PID 2052] /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00 1.8 ms/s 50.8 Process [PID 3034] /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8314 -prefMapSize 173895 -schedulerPrefs 00 3.6 ms/s 48.4 Process [PID 3009] /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8314 -prefMapSize 173895 -schedulerPrefs 00 7.5 ms/s 46.2 Process [PID 2996] /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8314 -prefMapSize 173895 -schedulerPrefs 00 25.2 ms/s 33.6 Process [PID 1528] /usr/lib/firefox/firefox --new-window 5.7 ms/s 32.2 Interrupt [7] sched(softirq) 2.1 ms/s 32.2 Process [PID 1811] /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00 19.7 ms/s 25.0 Process [PID 1794] /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00 1.9 ms/s 31.5 Process [PID 1596] /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 173895 -schedulerPrefs 0001, 3.1 ms/s 29.9 Process [PID 1535] /usr/lib/firefox/firefox --new-window 7.1 ms/s 28.2 Process [PID 1488] /usr/lib/firefox/firefox --new-window 1.8 ms/s 29.5 Process [PID 1762] /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00 8.8 ms/s 23.3 Process [PID 1121] /usr/bin/gnome-shell 1.2 ms/s 21.8 Process [PID 1657] /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 920 -prefMapSize 173895 -schedulerPrefs 000 13.3 ms/s 13.9 Process [PID 1746] /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00 2.7 ms/s 11.1 Process [PID 3410] /usr/lib/gnome-terminal-server 3.8 ms/s 10.8 Process [PID 1057] /usr/lib/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty 3.1 ms/s 9.8 Process [PID 1629] /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 920 -prefMapSize 173895 -schedulerPrefs 000 0.9 ms/s 6.7 Interrupt [136] xhci_hcd 278.0 us/s 6.4 Process [PID 414] [irq/141-iwlwifi] 128.7 us/s 5.7 Process [PID 1] /sbin/init 118.5 us/s 5.2 Process [PID 10] [rcu_preempt] 49.0 us/s 4.7 Interrupt [0] HI_SOFTIRQ 459.3 us/s 3.1 Interrupt [142] i915 2.1 ms/s 2.3 Process [PID 3451] powertop 8.4 us/s 2.7 kWork intel_atomic_helper_free_state_ 1.2 ms/s 1.8 kWork intel_atomic_commit_work 374.2 us/s 2.1 Interrupt [9] acpi 42.1 us/s 1.8 kWork intel_atomic_cleanup_work 3.5 ms/s 0.25 kWork delayed_fput 238.0 us/s 1.5 Process [PID 907] /usr/lib/upowerd 17.7 us/s 1.5 Timer intel_uncore_fw_release_timer 26.4 us/s 1.4 Process [PID 576] [i915/signal:0] 19.8 us/s 1.3 Timer watchdog_timer_fn 1.1 ms/s 0.00 Process [PID 206] [kworker/7:2] 2.4 ms/s 0.00 Interrupt [1] timer(softirq) 13.4 us/s 0.9 Process [PID 9] [ksoftirqd/0] Exit | / Navigate |PowerTOP 的输出类似如上截屏，在你的机器上由于硬件不同会稍有不同。它的显示有很多页，你可以使用 Tab 和 Shift+Tab 在它们之间切换。空闲状态页它会显示处理器的各种信息。PowerTOP v2.9 Overview Idle stats Frequency stats Device stats Tunables Package | Core | CPU 0 CPU 4 | | C0 active 6.7% 7.2% | | POLL 0.0% 0.1 ms 0.0% 0.1 ms | | C1E 1.2% 0.2 ms 1.6% 0.3 ms C2 (pc2) 7.5% | | C3 (pc3) 25.2% | C3 (cc3) 0.7% | C3 0.5% 0.2 ms 0.6% 0.1 ms C6 (pc6) 0.0% | C6 (cc6) 7.1% | C6 6.6% 0.5 ms 6.3% 0.5 ms C7 (pc7) 0.0% | C7 (cc7) 59.8% | C7s 0.0% 0.0 ms 0.0% 0.0 ms C8 (pc8) 0.0% | | C8 33.9% 1.6 ms 32.3% 1.5 ms C9 (pc9) 0.0% | | C9 2.1% 3.4 ms 0.7% 2.8 ms C10 (pc10) 0.0% | | C10 39.5% 4.7 ms 41.4% 4.7 ms | Core | CPU 1 CPU 5 | | C0 active 8.3% 7.2% | | POLL 0.0% 0.0 ms 0.0% 0.1 ms | | C1E 1.3% 0.2 ms 1.4% 0.3 ms | | | C3 (cc3) 0.5% | C3 0.5% 0.2 ms 0.4% 0.2 ms | C6 (cc6) 6.0% | C6 5.3% 0.5 ms 4.7% 0.5 ms | C7 (cc7) 59.3% | C7s 0.0% 0.8 ms 0.0% 1.0 ms | | C8 27.2% 1.5 ms 23.8% 1.4 ms | | C9 1.6% 3.0 ms 0.5% 3.0 ms | | C10 44.5% 4.7 ms 52.2% 4.6 ms | Core | CPU 2 CPU 6 | | C0 active 11.2% 8.4% | | POLL 0.0% 0.0 ms 0.0% 0.0 ms | | C1E 1.4% 0.4 ms 1.3% 0.3 ms | | | C3 (cc3) 0.3% | C3 0.2% 0.1 ms 0.4% 0.2 ms | C6 (cc6) 4.0% | C6 3.7% 0.5 ms 4.3% 0.5 ms | C7 (cc7) 54.2% | C7s 0.0% 0.0 ms 0.0% 1.0 ms | | C8 20.0% 1.5 ms 20.7% 1.4 ms | | C9 1.0% 3.4 ms 0.4% 3.8 ms | | C10 48.8% 4.6 ms 52.3% 5.0 ms | Core | CPU 3 CPU 7 | | C0 active 8.8% 8.1% | | POLL 0.0% 0.1 ms 0.0% 0.0 ms | | C1E 1.2% 0.2 ms 1.2% 0.2 ms | | | C3 (cc3) 0.6% | C3 0.6% 0.2 ms 0.4% 0.2 ms | C6 (cc6) 7.0% | C6 7.5% 0.5 ms 4.4% 0.5 ms | C7 (cc7) 56.8% | C7s 0.0% 0.0 ms 0.0% 0.9 ms | | C8 29.4% 1.4 ms 23.8% 1.4 ms | | C9 1.1% 2.7 ms 0.7% 3.9 ms | | C10 41.0% 4.0 ms 50.0% 4.8 ms Exit | / Navigate |频率状态页它会显示 CPU 的主频。PowerTOP v2.9 Overview Idle stats Frequency stats Device stats Tunables Package | Core | CPU 0 CPU 4 | | Average 930 MHz 1101 MHz Idle | Idle | Idle | Core | CPU 1 CPU 5 | | Average 1063 MHz 979 MHz | Idle | Idle | Core | CPU 2 CPU 6 | | Average 976 MHz 942 MHz | Idle | Idle | Core | CPU 3 CPU 7 | | Average 924 MHz 957 MHz | Idle | Idle 设备状态页它仅针对设备显示其电量使用信息。PowerTOP v2.9 Overview Idle stats Frequency stats Device stats Tunables The battery reports a discharge rate of 13.8 W The power consumed was 280 J Usage Device name 46.7% CPU misc 46.7% DRAM 46.7% CPU core 19.0% Display backlight 0.0% Audio codec hwC0D0: Realtek 0.0% USB device: Lenovo EasyCamera (160709000341) 100.0% PCI Device: Intel Corporation HD Graphics 530 100.0% Radio device: iwlwifi 100.0% PCI Device: O2 Micro, Inc. SD/MMC Card Reader Controller 100.0% PCI Device: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers 100.0% USB device: Lenovo Wireless Optical Mouse N100 100.0% PCI Device: Intel Corporation Wireless 8260 100.0% PCI Device: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] 100.0% Radio device: btusb 100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4 100.0% USB device: xHCI Host Controller 100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller 100.0% PCI Device: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller 100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3 100.0% PCI Device: Samsung Electronics Co Ltd NVMe SSD Controller SM951/PM951 100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #2 100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family SMBus 26.1 pkts/s Network interface: wlp8s0 (iwlwifi) 0.0% USB device: usb-device-8087-0a2b 0.0% runtime-reg-dummy 0.0% Audio codec hwC0D2: Intel 0.0 pkts/s Network interface: enp9s0 (r8168) 0.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller 0.0% PCI Device: Intel Corporation HM170 Chipset LPC/eSPI Controller 0.0% PCI Device: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) 0.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 0.0% PCI Device: NVIDIA Corporation GM107M [GeForce GTX 960M] 0.0% I2C Adapter (i2c-8): nvkm-0000:01:00.0-bus-0005 0.0% runtime-PNP0C14:00 0.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller 0.0% runtime-PNP0C0C:00 0.0% USB device: xHCI Host Controller 0.0% runtime-ACPI000C:00 0.0% runtime-regulatory.0 0.0% runtime-PNP0C14:01 0.0% runtime-vesa-framebuffer.0 0.0% runtime-coretemp.0 0.0% runtime-alarmtimer Exit | / Navigate | 可调整状态页这个页面是个重要区域，可以为你的笔记本电池优化提供建议。PowerTOP v2.9 Overview Idle stats Frequency stats Device stats Tunables >> Bad Enable SATA link power management for host2 Bad Enable SATA link power management for host3 Bad Enable SATA link power management for host0 Bad Enable SATA link power management for host1 Bad VM writeback timeout Bad Autosuspend for USB device Lenovo Wireless Optical Mouse N100 [1-2] Good Bluetooth device interface status Good Enable Audio codec power management Good NMI watchdog should be turned off Good Runtime PM for I2C Adapter i2c-7 (nvkm-0000:01:00.0-bus-0002) Good Autosuspend for unknown USB device 1-11 (8087:0a2b) Good Runtime PM for I2C Adapter i2c-3 (i915 gmbus dpd) Good Autosuspend for USB device Lenovo EasyCamera [160709000341] Good Runtime PM for I2C Adapter i2c-1 (i915 gmbus dpc) Good Runtime PM for I2C Adapter i2c-12 (nvkm-0000:01:00.0-bus-0009) Good Autosuspend for USB device xHCI Host Controller [usb1] Good Runtime PM for I2C Adapter i2c-13 (nvkm-0000:01:00.0-aux-000a) Good Runtime PM for I2C Adapter i2c-2 (i915 gmbus dpb) Good Runtime PM for I2C Adapter i2c-8 (nvkm-0000:01:00.0-bus-0005) Good Runtime PM for I2C Adapter i2c-15 (nvkm-0000:01:00.0-aux-000c) Good Runtime PM for I2C Adapter i2c-16 (nvkm-0000:01:00.0-aux-000d) Good Runtime PM for I2C Adapter i2c-5 (nvkm-0000:01:00.0-bus-0000) Good Runtime PM for I2C Adapter i2c-0 (SMBus I801 adapter at 6040) Good Runtime PM for I2C Adapter i2c-11 (nvkm-0000:01:00.0-bus-0008) Good Runtime PM for I2C Adapter i2c-14 (nvkm-0000:01:00.0-aux-000b) Good Autosuspend for USB device xHCI Host Controller [usb2] Good Runtime PM for I2C Adapter i2c-9 (nvkm-0000:01:00.0-bus-0006) Good Runtime PM for I2C Adapter i2c-10 (nvkm-0000:01:00.0-bus-0007) Good Runtime PM for I2C Adapter i2c-6 (nvkm-0000:01:00.0-bus-0001) Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller Good Runtime PM for PCI Device Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 Good Runtime PM for PCI Device Intel Corporation HD Graphics 530 Good Runtime PM for PCI Device Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3 Good Runtime PM for PCI Device O2 Micro, Inc. SD/MMC Card Reader Controller Good Runtime PM for PCI Device Intel Corporation HM170 Chipset LPC/eSPI Controller Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 Good Runtime PM for PCI Device Samsung Electronics Co Ltd NVMe SSD Controller SM951/PM951 Good Runtime PM for PCI Device Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #2 Good Runtime PM for PCI Device Intel Corporation Wireless 8260 Good Runtime PM for PCI Device Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4 Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family SMBus Good Runtime PM for PCI Device NVIDIA Corporation GM107M [GeForce GTX 960M] Exit | Toggle tunable | Window refresh如何生成 PowerTop 的 HTML 报告运行如下命令生成 PowerTop 的 HTML 报告。$ sudo powertop --html=powertop.html modprobe cpufreq_stats failedLoaded 100 prior measurements Cannot load from file /var/cache/powertop/saved_parameters.powertop File will be loaded after taking minimum number of measurement(s) with battery only RAPL device for cpu 0 RAPL Using PowerCap Sysfs : Domain Mask f RAPL device for cpu 0 RAPL Using PowerCap Sysfs : Domain Mask f Devfreq not enabled glob returned GLOB_ABORTED Cannot load from file /var/cache/powertop/saved_parameters.powertop File will be loaded after taking minimum number of measurement(s) with battery only Preparing to take measurements To show power estimates do 182 measurement(s) connected to battery only Taking 1 measurement(s) for a duration of 20 second(s) each. PowerTOP outputing using base filename powertop.html打开 file:///home/daygeek/powertop.html 文件以访问生成的 PowerTOP 的 HTML 报告。自动调整模式这个功能可以将所有可调整选项从 BAD 设置为 GOOD，这可以提升 Linux 中的笔记本电池寿命。$ sudo powertop --auto-tune modprobe cpufreq_stats failedLoaded 210 prior measurements Cannot load from file /var/cache/powertop/saved_parameters.powertop File will be loaded after taking minimum number of measurement(s) with battery only RAPL device for cpu 0 RAPL Using PowerCap Sysfs : Domain Mask f RAPL device for cpu 0 RAPL Using PowerCap Sysfs : Domain Mask f Devfreq not enabled glob returned GLOB_ABORTED Cannot load from file /var/cache/powertop/saved_parameters.powertop File will be loaded after taking minimum number of measurement(s) with battery only To show power estimates do 72 measurement(s) connected to battery only Leaving PowerTOPvia: https://www.2daygeek.com/powertop-monitors-laptop-battery-usage-linux/作者：Vinoth Kumar 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
从 Linux 终端查看笔记本电池状态和等级的 5 个方法
我们可以轻松地通过图形化界面查看当前电量百分比、是否在充电以及当前电量还可以使用多长时间等电池状态，但是却无法查看电池健康度等相关信息。在这篇文章就是为了解决这些问题。在 Linux 上有很多这样的实用工具，而且可以在命令行使用。这篇文章今天就要探讨这个主题，我会尽我所能的覆盖尽可能多的信息。每月检查一次你的电池健康度是一个很好的想法。它可以帮你检查你当前遇到的问题是否与电池或者充电相关。同时，我们也可以查看电池模组名称、电源、厂商以及电池规格等。电源管理是在不使用时关闭电源或者切换系统的组件到低耗模式的一种功能。几种在 Linux 下检查电池状态的实用工具upower：是一个命令行工具，其提供了罗列系统中电源的接口。acpi：显示来自 /proc 或者 /sys 文件系统中的一些信息，例如电池状态或者热量信息。batstat：是一个为 Linux 打印电池状态的命令行工具。tlp：可以为你带来更高级的电源管理，而无需修改任何配置。class file：这个 sysfs 文件系统是一个提供了内核数据结构接口的伪文件系统。如何使用 upower 命令检查笔记本电池状态upower 是一个命令行工具，其提供了罗列系统中电源的接口。它在你的电脑上可以控制不同操作的延迟，这可以为你节省很大一部分电量。只需要在 Linux 中运行以下命令获取电池以及它所依赖的其他信息。$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 native-path: BAT0 vendor: SMP model: L14M4P23 serial: 756 power supply: yes updated: Monday 03 December 2018 07:56:18 PM IST (95 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: discharging warning-level: none energy: 28.23 Wh energy-empty: 0 Wh energy-full: 52.26 Wh energy-full-design: 60 Wh energy-rate: 10.714 W voltage: 14.819 V time to empty: 2.6 hours percentage: 54% capacity: 87.1% technology: lithium-ion icon-name: 'battery-good-symbolic' History (charge): 1543847178 54.000 discharging History (rate): 1543847178 10.714 discharging使用下面的格式检查电池的特定信息。$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -i "state\|percentage\|time to empty" state: discharging time to empty: 2.1 hours percentage: 43%这个类似于上面的那个，但是是在充电线缆的插入后运行，这也就是为什么下面会显示正在充电状态的原因。$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -i "state\|percentage\|time to empty" state: charging percentage: 41%如何使用 TLP 命令检查笔记本电池状态TLP 是一个自由开源的多功能的命令行工具，它可以优化笔记本电池而无需修改任何配置。TLP 可以为你的 Linux 带来更高级的电源管理，而无需理解任何技术细节。TLP 默认附带了一个已经为你的电池优化好的配置，所以你可以安装好后就不再管它了。尽管 TLP 是一个可以根据你的需求高度可定制的工具。TLP 在绝大多数 Linux 发行版，例如 Arch、Debian、Fedora、Gentoo、openSUSE 等的官方库中都可用。使用你的 Linux 发行版的包管理安装 TLP 即可。只需要在 Linux 中运行以下命令获取电池以及其他所依赖的信息。$ sudo tlp-stat -b --- TLP 1.1 -------------------------------------------- +++ Battery Status /sys/class/power_supply/BAT0/manufacturer = SMP /sys/class/power_supply/BAT0/model_name = L14M4P23 /sys/class/power_supply/BAT0/cycle_count = (not supported) /sys/class/power_supply/BAT0/energy_full_design = 60000 [mWh] /sys/class/power_supply/BAT0/energy_full = 52260 [mWh] /sys/class/power_supply/BAT0/energy_now = 21950 [mWh] /sys/class/power_supply/BAT0/power_now = 10923 [mW] /sys/class/power_supply/BAT0/status = Discharging Charge = 42.0 [%] Capacity = 87.1 [%]也可以查看其他的信息。$ sudo tlp-stat -s --- TLP 1.1 -------------------------------------------- +++ System Info System = LENOVO Lenovo ideapad Y700-15ISK 80NV BIOS = CDCN35WW Release = "Manjaro Linux" Kernel = 4.19.6-1-MANJARO #1 SMP PREEMPT Sat Dec 1 12:21:26 UTC 2018 x86_64 /proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-4.19-x86_64 root=UUID=69d9dd18-36be-4631-9ebb-78f05fe3217f rw quiet resume=UUID=a2092b92-af29-4760-8e68-7a201922573b Init system = systemd Boot mode = BIOS (CSM, Legacy) +++ TLP Status State = enabled Last run = 07:16:12 IST, 4362 sec(s) ago Mode = battery Power source = battery``` ### 如何使用 ACPI 命令检查电池状态 ACPI 代表 高级配置和电源接口 Advanced Configuration and Power Interface 模块，它们是不同 ACPI 部件的内核模块。它们启用特殊的 ACPI 函数向 `/proc` 或者 `/sys` 中添加信息。这些信息可以通过事件或者其他监控程序的 acpid 进行解析。 $ acpi Battery 0: Charging, 43%, 01:05:11 until charged “`查看电池容量。$ acpi -i Battery 0: Charging, 43%, 01:05:07 until charged Battery 0: design capacity 3817 mAh, last full capacity 3324 mAh = 87%查看更多有关电池及其相关的信息。$ acpi -V Battery 0: Charging, 43%, 01:05:07 until charged Battery 0: design capacity 3815 mAh, last full capacity 3323 mAh = 87% Adapter 0: on-line Cooling 0: Processor 0 of 10 Cooling 1: Processor 0 of 10 Cooling 2: Processor 0 of 10 Cooling 3: iwlwifi 0 of 19 Cooling 4: Processor 0 of 10 Cooling 5: iwlwifi no state information available Cooling 6: Processor 0 of 10 Cooling 7: Processor 0 of 10 Cooling 8: Processor 0 of 10 Cooling 9: intel_powerclamp no state information available Cooling 10: x86_pkg_temp no state information available Cooling 11: Processor 0 of 10如何使用 Batstat 命令查看笔记本电池状态batstat 是一个在 Linux 终端打印电池信息的命令行工具。Status: Charging Max energy: 50.00 Wh Energy left: 24.50 Wh Power Consumption: 26.40 W Percentage left: 49.00% Average power Consumption: 0.00 W Time elapsed: 0: 0:12 since 49.00% = Time ======== Percent ============================================ 0: 0: 0 49.00%如何使用 sysfs 文件系统查看笔记本电池状态sysfs 文件系统是一个提供了内核数据结构接口的伪文件系统。sysfs 下的文件提供有关设备、内核模块、文件系统和其他内核组件的信息。sysfs 文件系统通常挂载在 /sys。通常来说，它会被系统自动挂载，但是也可以使用例如 mount -t sysfs sysfs /sys 命令进行手动挂载。在 sysfs 文件系统中的很多文件都是只读的，但也有一些是可写的，允许更改内核变量。为了避免冗余，符号链接被大量用于连接文件系统数中的条目。$ cat /sys/class/power_supply/BAT0/* 0 51 Normal 0 cat: /sys/class/power_supply/BAT0/device: Is a directory 52260000 60000000 26660000 SMP L14M4P23 cat: /sys/class/power_supply/BAT0/power: Is a directory 27656000 1 756 Charging cat: /sys/class/power_supply/BAT0/subsystem: Is a directory Li-ion Battery POWER_SUPPLY_NAME=BAT0 POWER_SUPPLY_STATUS=Charging POWER_SUPPLY_PRESENT=1 POWER_SUPPLY_TECHNOLOGY=Li-ion POWER_SUPPLY_CYCLE_COUNT=0 POWER_SUPPLY_VOLTAGE_MIN_DESIGN=14800000 POWER_SUPPLY_VOLTAGE_NOW=15840000 POWER_SUPPLY_POWER_NOW=27656000 POWER_SUPPLY_ENERGY_FULL_DESIGN=60000000 POWER_SUPPLY_ENERGY_FULL=52260000 POWER_SUPPLY_ENERGY_NOW=26660000 POWER_SUPPLY_CAPACITY=51 POWER_SUPPLY_CAPACITY_LEVEL=Normal POWER_SUPPLY_MODEL_NAME=L14M4P23 POWER_SUPPLY_MANUFACTURER=SMP POWER_SUPPLY_SERIAL_NUMBER= 756 14800000 15840000via: https://www.2daygeek.com/check-laptop-battery-status-and-charging-state-in-linux-terminal/作者：Magesh Maruthamuthu 选题：lujun9972 译者：dianbanjiu 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
如何在 Linux 终端下检查笔记本电池状态
在图形界面下查看你的笔记本电池状态是很容易的，只需将鼠标指向任务栏中的电池图标上，你便可以很容易地知道电池的电量。但如果我们想要从命令行中获得这些信息呢？并不是所有人都知道如何做到这点。前几天我的一个朋友询问我如何从他的 Ubuntu 系统里，在终端中查看他的笔记本电池的电量。这便是我写这篇文章的起因。在本文中我概括了三种简单的方法来让你在任何 Linux 发行版本中从终端查看笔记本电池的状态。在终端下检查笔记本电池状态我们可以使用下面的三种方法来从命令行中查找到笔记本电池状态。方法一 – 使用 upower 命令upower 命令预装在大多数的 Linux 发行版本中。为了使用 upower 命令来展示电池的状态，打开终端并运行如下命令：$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 示例输出：native-path: BAT0 vendor: Samsung SDI model: DELL 7XFJJA2 serial: 4448 power supply: yes updated: Sat 12 May 2018 06:48:48 PM IST (41 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: charging warning-level: none energy: 43.3011 Wh energy-empty: 0 Wh energy-full: 44.5443 Wh energy-full-design: 48.84 Wh energy-rate: 9.8679 W voltage: 12.548 V time to full: 7.6 minutes percentage: 97% capacity: 91.2045% technology: lithium-ion icon-name: 'battery-full-charging-symbolic' History (charge): 1526131128 97.000 charging History (rate): 1526131128 9.868 charging 正如你所看到的那样，我的电池正处于充电状态，并且它的电量百分比是 97%。假如上面的命令因为某些未知原因不起作用，可以尝试使用下面的命令：$ upower -i `upower -e | grep 'BAT'` 示例输出：native-path: BAT0 vendor: Samsung SDI model: DELL 7XFJJA2 serial: 4448 power supply: yes updated: Sat 12 May 2018 06:50:49 PM IST (22 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: charging warning-level: none energy: 43.6119 Wh energy-empty: 0 Wh energy-full: 44.5443 Wh energy-full-design: 48.84 Wh energy-rate: 8.88 W voltage: 12.552 V time to full: 6.3 minutes percentage: 97% capacity: 91.2045% technology: lithium-ion icon-name: 'battery-full-charging-symbolic' History (rate): 1526131249 8.880 charging upower 不仅可以显示出电池的状态，它还可以显示出已安装电池的其他完整信息，例如电池型号，供应商名称，电池的序列号，电池的状态，电池的电压等信息。当然，如果你只想显示电池的状态，你可以可以结合使用 upower 命令和grep 命令，具体命令如下：$ upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage" 示例输出：state: fully-charged percentage: 100% 从上面的输出中可以看到我的笔记本电池已经完全充满了。想知晓更多的细节，可以参看 man 页：$ man upower 方法二 – 使用 acpi 命令acpi 命令可以用来显示你的 Linux 发行版本中电池的状态以及其他 ACPI 信息。在某些 Linux 发行版本中，你可能需要安装 acpi 命令。要在 Debian、 Ubuntu 及其衍生版本中安装它，可以使用如下命令：$ sudo apt-get install acpi 在 RHEL、 CentOS、 Fedora 等系统中使用：$ sudo yum install acpi 或者使用如下命令：$ sudo dnf install acpi 在 Arch Linux 及其衍生版本中使用：$ sudo pacman -S acpi 一旦 acpi 安装好后，运行下面的命令：$ acpi -V 注意： 在上面的命令中， V 是大写字母。示例输出：Battery 0: Charging, 99%, 00:02:09 until charged Battery 0: design capacity 4400 mAh, last full capacity 4013 mAh = 91% Battery 1: Discharging, 0%, rate information unavailable Adapter 0: on-line Thermal 0: ok, 77.5 degrees C Thermal 0: trip point 0 switches to mode critical at temperature 84.0 degrees C Cooling 0: Processor 0 of 3 Cooling 1: Processor 0 of 3 Cooling 2: LCD 0 of 15 Cooling 3: Processor 0 of 3 Cooling 4: Processor 0 of 3 Cooling 5: intel_powerclamp no state information available Cooling 6: x86_pkg_temp no state information available 首先让我们来检查电池的电量，可以运行：$ acpi 示例输出：Battery 0: Charging, 99%, 00:01:41 until charged Battery 1: Discharging, 0%, rate information unavailable 下面，让我们来查看电池的温度：$ acpi -t 示例输出：Thermal 0: ok, 63.5 degrees C 如果需要将温度以华氏温标显示，可以使用：$ acpi -t -f 示例输出：Thermal 0: ok, 144.5 degrees F 如果想看看交流电适配器是否连接上了没有，可以运行：$ acpi -a 示例输出：Adapter 0: on-line 假如交流电适配器没有连接上，则你将看到如下的输出：Adapter 0: off-line 想获取更多的信息，可以查看 man 页：$ man acpi 方法三 - 使用 batstat 程序batstat 是一个基于 ncurses 的命令行小工具，使用它可以在类 Unix 系统中展示笔记本电池状态。它可以展示如下具体信息：当前电池电量当前电池所存能量充满时所存能量从程序启动开始经历的时间，它不会追踪记录机器休眠的时间电池电量消耗历史数据安装 batstat 轻而易举。使用下面的命令来克隆该程序的最新版本：$ git clone https://github.com/Juve45/batstat.git 上面的命令将拉取 batstat 的最新版本并将它的内容保存在一个名为 batstat 的文件夹中。首先将目录切换到 batstat/bin/ 中：$ cd batstat/bin/ 接着将 batstat 二进制文件复制到 PATH 环境变量中的某个目录中，例如 /usr/local/bin/ 目录：$ sudo cp batstat /usr/local/bin/ 使用下面的命令来让它可被执行：$ sudo chmod +x /usr/local/bin/batstat 最后，使用下面的命令来查看你的电池状态。$ batstat 示例输出：从上面的截图中可以看到我的笔记本电池正处于充电状态。这个小工具还有某些小的限制。在书写本文之时，batstat 仅支持显示一个电池的相关信息。而且它只从 /sys/class/power_supply/ 目录搜集相关的信息。假如你的电池信息被存放在另外的目录中，则这个小工具就不会起作用了。想知晓更多信息，可以查看 batstat 的 GitHub 主页。上面就是今天我要分享的所有内容。当然，可能还有很多其他的命令或者程序来从 Linux 终端检查笔记本的电池状态。据我所知，上面给出的命令都运行良好。假如你知道其他命令来查看电池的状态，请在下面的评论框中让我们知晓。假如你所给出的方法能够起作用，我将对我的这篇文章进行更新。最后，上面便是今天的全部内容了。更多的优质内容敬请期待，敬请关注！欢呼吧!via: https://www.ostechnix.com/how-to-check-laptop-battery-status-in-terminal-in-linux/作者：SK 选题：lujun9972 译者：FSSlc 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
我发现 Linux 下电池的寿命普遍要比 Windows 下要短。尽管如此，这可是 Linux，我们总会有有办法的。现在来讲一下这个名叫 TLP 的小工具，它能帮你的设备省点电。TLP - Linux 高级电源管理 是一个小巧的命令行工具，它通过对 Linux 系统执行一些调整来真正帮助延长电池的使用寿命。sudo apt install tlp 对于其他的发行版，你可以阅读其官方网站上的指南。安装完成之后，你只有在第一次的时候需要运行下面命令来启动 tlp。TLP 会在下次启动系统时自动运行。​现在 TLP 已经被启动起来了，而且已经设置好了节省电池所需要的默认配置。我们可以查看该配置文件。文件路径为 /etc/default/tlp。我们需要编辑该文件来修改各项配置。配置文件中有很多选项，要启用某个选项的话只需要删除行首的 # 就行了。每个选项能够赋予什么值都有说明。下面是你可能会用到的选项：自动休眠 USB 设备设定启动时启用/禁用无线设备降低硬盘转速关闭无线设备设置 CPU 以性能优先还是节能优先结论​TLP 是一个超棒的工具，可以延长 Linux 系统的电池使用寿命。我个人的经验是使用 TLP 能延长至少 30-40% 的电池使用寿命。via: http://www.linuxandubuntu.com/home/save-some-battery-on-our-linux-machines-with-tlp作者：LinuxAndUbuntu 译者：lujun9972 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
用笔记本模式工具1.65来延长电池续航能力
笔记本模式工具是一个Linux电源管理工具包，它可以让用户以多种方式延长笔记本电池续航能力，现在它已经升级到1.65。笔记本模式工具的发布的版本曾经很少而且间隔很长，但开发者在最新的版本中做了一些很有意思的改变，虽然此次更新与以前不同。根据更新日志，grep找不到$device/uevent的错误已得到修复、 sysfs/enabled已被"ip link down"所取代、 添加了对iwlwifi的支持，运行时电源管理框架现在更健壮，并且usb-autosuspend模块已被去除。此外，当笔记本电脑恢复时，笔记本模式工具将强制以初始化模式运行，最新版本已添加英特尔 PState 驱动程序的模块，并已实现挂起/休眠接口。用户不须更改自动设置。更改自动设置可能会导致更多的问题，但通常看来他们总是会去动它。此外，要注意到每个功能究竟是做什么的，否则你可能会搞出更多问题。看官方公告来了解更多细节。现在就下载用笔记本模式工具1.65:http://samwel.tk/laptop_mode/packagesvia: http://news.softpedia.com/news/Improve-Battery-Life-with-Laptop-Mode-Tools-1-65-447397.shtml译者：2q1w2007 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出