ænd*_*rük 121 battery thinkpad laptop lenovo optimization
我刚刚了解到,一些联想笔记本电脑包含一个实用程序,可将电池充电容量限制在 0-80% 以内,以减缓电池寿命的衰减:
我怎样才能在 Ubuntu 中做到这一点?
aqu*_*erd 97
非常不幸的是,收费阈值是特定于固件和供应商的。
幸运的是,联想ThinkPad用户获得了ThinkWiki 上概述的解决方案。
它基本上说你必须安装和加载tp_smapi内核模块:
sudo apt-get install tp-smapi-dkms
sudo modprobe tp_smapi
Run Code Online (Sandbox Code Playgroud)
并将所需的收费阈值写入以下虚拟文件/sys/devices/platform/smapi:
echo 40 | sudo tee /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 80 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh
Run Code Online (Sandbox Code Playgroud)
然后它会在达到 80% 时停止充电,只有在低于 40% 时才开始充电。
东芝和其他人可能也有类似的内核模块暴露固件功能的/sys或/proc空间,但它是专利问题不太可能。出于同样的原因,可以处理此问题的应用程序要么是特定于 Thinkpad 的,要么只针对少数选定的供应商。
lio*_*ori 31
现在有一个更好的应用程序可用于 Ubuntu(和其他发行版):
TLP 为您带来 Linux 高级电源管理的好处,而无需了解每一个技术细节。TLP 带有已针对电池寿命进行了优化的默认配置,因此您可能只需安装并忘记它。尽管如此,TLP 是高度可定制的,以满足您的特定要求。
它控制的参数之一是维持电池充电限制。它仍然只适用于 Thinkpad,但考虑到项目的性质——如果其他设备的适当驱动程序可用,它们很可能也会被集成到这个项目中。因此,如果您在几年后阅读此评论,请查看文档,也许您的设备实际上是受支持的。
Ubuntu 软件包在官方存储库中可用。
小智 19
sudo add-apt-repository ppa:linrunner/tlp
sudo apt update
sudo apt install tlp
# Check what package needed for battery:
sudo tlp-stat -b
# If acpi_call is recommended
sudo apt install acpi-call-dkms
# If smapi is recommended
sudo apt install tp-smapi-dkms
Run Code Online (Sandbox Code Playgroud)
sudo gedit /etc/tlp.conf
Run Code Online (Sandbox Code Playgroud)
START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=80
Run Code Online (Sandbox Code Playgroud)
sudo tlp start
Run Code Online (Sandbox Code Playgroud)
sudo tlp-stat -b
Run Code Online (Sandbox Code Playgroud)
Fre*_*oen 18
接受的答案不适用于我的新联想 T440s。显然是固件变了。在http://www.thinkwiki.org/wiki/Tpacpi-bat之后,我做了
git clone https://github.com/teleshoes/tpacpi-bat.git
cd tpacpi-bat/
./install.pl
sudo ./tpacpi-bat -s ST 1 15 # load internal battery when below 15%
sudo ./tpacpi-bat -s SP 1 95 # stop charging at 95%
sudo ./tpacpi-bat -g ST 2 # when is external battery loaded?
Run Code Online (Sandbox Code Playgroud)
作为参考,我在 debian 测试中做了这个,但我确信它在 ubuntu 中也能正常工作。
eos*_*ere 11
在运行 Windows 8.1 的 Toshiba R830 上,我安装了 Toshiba Power Saver 应用程序以将电池电量限制为 80%
当我在 Linux(Ubuntu、Mint 等)上启动时,最大电量仍限制为 80%。
因此,东芝节电器似乎将其配置存储到bios中。
唯一的缺点是,如果我想带着充满电的电池旅行,我必须重新启动 Windows 并更改节电配置。
我有一台华硕笔记本电脑,我从网上找到的方法如下。这种方法可能已经是上面提到的一些应用程序的一部分,但将其放在这里以供参考。
battery_charge_threshold.service。
[Unit]
Description=Set the battery charge threshold
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'echo 80 > /sys/class/power_supply/BAT0/charge_control_end_threshold'
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
/etc/systemd/systemsudo chmod 644 /etc/systemd/system/battery-charge-threshold.service
sudo systemctl daemon-reload
sudo systemctl enable battery-charge-threshold.service
Run Code Online (Sandbox Code Playgroud)
执行此操作后,80% 的充电阈值(根据服务文件)将在重新启动之间保持不变。如果电流水平高于 80%,它也会停止对电池充电。希望这可以帮助。我已经使用了近 1.5 年,没有任何问题。
在我的 Dell XPS 上,我smbios-utils使用sudo apt install smbios-utils. 该软件包提供了一个名为 的命令smbios-battery-ctl。看起来基于电池电量的充电控制自 Ubuntu 20.04 以来就已经可用。完整的详细信息在联机帮助页中,但对于基本的 80% 设置,我认为这会起作用:
sudo smbios-battery-ctl --set-custom-charge-interval 75 80
sudo smbios-battery-ctl --set-charging-mode=custom
Run Code Online (Sandbox Code Playgroud)
当电量低于75%时开始充电,达到80%时停止充电。
要将设置改回:
sudo smbios-battery-ctl --set-charging-mode=adaptive
Run Code Online (Sandbox Code Playgroud)
小智 6
您是否检查过笔记本电脑的 BIOS 设置是否有此功能?我的笔记本电脑有一个 Windows 应用程序以及 BIOS 中的“电池寿命延长器”设置,以实现此功能。