有没有类似于Jupiter的节能应用程序?

我正在尝试安装Jupiter电源设置应用程序,但是我了解到它与新内核不再兼容。在13.04上是否有类似的程序或管理电源设置的方法?

获取Jupiter源代码并更新以适应较新内核会很困难吗?有什么建议我应该从哪里开始?我了解Java和一点Python。 - ThiagoPonte
1我使用的是13.04版本,而且Jupiter仍然运行良好。 - Dr_Bunsen
你可能想要了解一下Slim:https://www.omgubuntu.co.uk/2019/05/slimbook-battery-optimizer-ubuntu - XoXo
试试CPU Power Manager GNOME 扩展。 - Pablo Bianchi
5个回答

在Linux中改善电源使用/延长电池寿命的TLP

概述

TLP为您带来了先进的Linux电源管理的好处,无需理解每个技术细节。TLP已经带有默认配置,针对电池寿命进行了优化,因此您只需安装并忘记它即可。然而,TLP可以高度定制,以满足您的特定需求。

功能

Kernel laptop mode and dirty buffer timeouts
Processor frequency scaling including "turbo boost" / "turbo core"
Power aware process scheduler for multi-core/hyper-threading
Hard disk advanced power magement level and spin down timeout (per disk)
SATA aggressive link power management (ALPM)
PCI Express active state power management (PCIe ASPM) – Linux 2.6.35 and above
Runtime power management for PCI(e) bus devices – Linux 2.6.35 and above
Radeon KMS power management – Linux 2.6.35 and above, not fglrx
Radeon dynamic power management – Kernel 3.11 and above, not fglrx
Wifi power saving mode – depending on kernel/driver
Power off optical drive in drive bay (on battery)
Audio power saving mode – hda_intel, ac97

还可以检查其他功能

安装

还可以检查先决条件

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update
sudo apt-get install tlp tlp-rdw smartmontools ethtool

ThinkPads

sudo apt-get install tp-smapi-dkms acpi-call-tools tlp tlp-rdw smartmontools ethtool
  • tlp-rdw - 无线电设备向导 - 需要启用/禁用和节能(Wifi / 蓝牙)
  • smartmontools - tlp-stat需要它来显示磁盘驱动器的S.M.A.R.T.数据
  • ethtool - 需要用于禁用远程唤醒
  • tp-smapi-dkms 仅适用于ThinkPad,需要tp-smapi来设置电池充电阈值和显示特定于ThinkPad的tlp-stat状态输出
  • acpi-call-tools 仅适用于ThinkPad,需要acpi-call来设置Sandy Bridge及更高型号的电池充电阈值

附加内容

Unity的TLP指示器 一个为Unity创建的指示器,可以方便地在交流电和电池模式之间切换。 请自行承担使用风险。 在此处下载:indicator-TLP.py

TLP Indicator for Unity


配置

删除默认的Ubuntu CPU频率配置

sudo update-rc.d -f ondemand remove 

TLP开发者

(这不是TLP的一般先决条件,只有如果用户决定更改默认的调度程序时才需要。如果用户在不更改TLP设置的情况下发出命令,他将得到"perfomance",这对电池寿命来说相当糟糕。)请参考第3节处理器和频率调整部分。

TLP的主配置文件位于/etc/default/tlp

sudo -i gedit /etc/default/tlp

参数

一般提示

  1. 以_AC结尾的参数在电源连接时有效
  2. 以_BAT结尾的参数在使用电池时有效
  3. 包含空格的参数必须用双引号括起来,像这样:""
  4. 默认情况下,某些参数是不活动的;请删除前面的“#”以激活

0.) 一般
TLP_ENABLE=1

将其设置为0以禁用TLP(需要重新启动),应该启用它,因此保留默认值。
1.) 文件系统
   DISK_IDLE_SECS_ON_AC=0
   DISK_IDLE_SECS_ON_BAT=2 

DISK_IDLE_SECS_ON_BAT=2 = 你可以选择保持默认值(2),或者你可以将其修改为5。默认情况下Ubuntu使用5,取决于你的个人喜好,请阅读下方提供的帮助。
cat /usr/lib/pm-utils/power.d/laptop-mode

这控制系统在尝试避免写入磁盘时的侵略性程度。磁盘空闲时间越长,您可以节省更多电力。

此功能仅在使用电池供电时激活,并在使用交流电时恢复这些值为内核默认值。

默认值为5,启用笔记本模式并强制系统等待5秒钟,以便在有写入磁盘请求时刷新尽可能多的数据。

2.) 脏页值

MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60 

保留默认值

默认值为60,这意味着内核不会强制进程将已更改但未保存的文件信息写入,直到可用系统内存的60%填满了脏信息。

3.) 处理器和频率缩放

CPU_SCALING_GOVERNOR_ON_AC=ondemand
CPU_SCALING_GOVERNOR_ON_BAT=powersave

去掉哈希标记并将其编辑为保守模式。

你可以根据自己的需求选择,也可以使用ON_BAT=powersave

选择一个CPU频率调节器:ondemand/powersave/performance/conservative

调节器??

调节器决定应该使用哪个频率。

模块描述:

ondemand        Dynamically switch between CPU(s) available if at 95% cpu load

performance     Run the cpu at max frequency

conservative    Dynamically switch between CPU(s) available if at 75% load

powersave       Run the cpu at the minimum frequency

TLP开发者

在使用"保守模式"而不是"省电模式"时,尤其是在使用交流电时,这不应该是一个普遍的建议,而只是针对那些产生过多热量或风扇噪音的硬件的选项。

4.) 最小/最大频率

#CPU_SCALING_MIN_FREQ_ON_AC=0
#CPU_SCALING_MAX_FREQ_ON_AC=0
#CPU_SCALING_MIN_FREQ_ON_BAT=0
#CPU_SCALING_MAX_FREQ_ON_BAT=0

设置可用于调整频率的最小/最大频率。 可能的值强烈依赖于您的CPU。有关可用频率,请参见tlp-stat输出,第"+++处理器"部分。
提示:参数默认禁用,请删除前面的#以启用它们,否则将使用内核默认值。
5.) Turbo Boost
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0

设置CPU的“Turbo Boost”功能:0=禁用 / 1=允许,需要Intel Core i处理器和3.7版本或更高的内核。
重要提示: 这可能与您的发行版的调频设置冲突,值为1并不激活增强功能,只是允许它。
6.) CPU核心/超线程
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1

尽量在轻负载条件下减少使用的CPU核心/超线程数量。
7.) 内核
NMI_WATCHDOG=0

激活内核 NMI 监视器定时器(0 = 禁用/节能,1 = 启用)。值为 1 仅适用于内核调试。
8.) 硬盘高级电源管理级别
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"

设置“高级电源管理级别”。可能的值范围在1到255之间。
1 – max power saving / minimum performance 

重要:此设置可能会导致磁盘驱动器过度卸载读写头(可从点击声中识别),进而增加磁盘的磨损。
128 – compromise between power saving and wear (TLP standard setting on battery)

192 – prevents excessive head unloading of some HDDs

254 – minimum power saving / max performance (TLP standard setting on ac)

255 – disable APM (not supported by some disk models)

不同磁盘的多个值之间用空格分隔。
9.) 磁盘I/O调度程序
#DISK_IOSCHED="cfq cfq"

选择磁盘设备的io调度程序:noop/deadline/cfq(默认值:cfq) 多个设备的值请用空格分隔。

noop通常是内存支持的块设备(例如ramdisks)和其他非旋转媒体(闪存)的最佳选择,尝试重新安排I/O是浪费资源的。

deadline是一种轻量级的调度程序,试图对延迟设置硬限制。

cfq试图维护系统范围内I/O带宽的公平性。

10.) SATA激进的链路电源管理(ALPM):

min_power/medium_power/max_performance

SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power

ALPM(Aggressive Link Power Management)是一种机制,其中SATA AHCI控制器可以在零I/O活动期间将连接到磁盘的SATA链路置于非常低功耗模式,并在需要进行工作时切换到活动电源状态。测试表明,这可以在典型系统上节省约0.5-1.5瓦特的功耗。(更多信息请参阅“来源和其他帮助”)
11.) PCI Express Active State Power Management(PCIe ASPM):
(默认/性能/节能)
提示:某些机器需要内核引导选项pcie_aspm=force
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave

12.) Radeon 显卡时钟速度

(配置方法): 低/中/高/自动/默认

自动 = 电池供电时为中速,插电源时为高速;默认 = 使用硬件默认设置(仅适用于 Kernel >= 2.6.35,不适用于 fglrx 驱动程序!)

#RADEON_POWER_PROFILE_ON_AC=high
#RADEON_POWER_PROFILE_ON_BAT=low

13.) WiFi省电模式

1=禁用/5=启用

(仅适用于Linux 2.6.32及更高版本,部分适配器适用!)

WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5

14.) 禁用远程唤醒
Y = 是,N = 否
WOL_DISABLE=Y

15.) Intel HDA音频节能

启用Intel HDA、AC97设备的音频节能功能(超时时间以秒为单位)。值为0表示禁用,值大于等于1表示启用节能模式。

SOUND_POWER_SAVE=1

禁用控制器(仅限HDA):是/否
SOUND_POWER_SAVE_CONTROLLER=Y

16.) 关闭UltraBay中的光驱 >> (仅适用于ThinkPad)
将其设置为1,以在仅使用电池时关闭UltraBay中的光驱(仅适用于ThinkPad)。值为0将禁用此功能(默认设置)。可以通过释放(并重新插入)弹出杆或按下较新型号上的光盘弹出按钮来重新启动光驱。注意:UltraBay硬盘永远不会被关闭。
BAY_POWEROFF_ON_BAT=1

光驱设备关机(默认为sr0)
BAY_DEVICE="sr0"

17.) pci(e)总线设备的运行时电源管理
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto

所有PCI(e)总线设备的运行时电源管理
RUNTIME_PM_ALL=1

所有PCI(e)总线设备的运行时电源管理:0=禁用/1=启用,警告:实验性选项,可能导致系统不稳定

有时候当我将USB鼠标接收器插入USB 3.0端口时,它无法工作,但当我将其插入USB 2.0端口时,它可以正常工作,而且我的所有USB 3.0设备都能正常工作,没有问题。

18.) USB自动挂起

设置为0以禁用/设置为1以启用USB自动挂起功能

USB_AUTOSUSPEND=1

19.) 系统启动和关闭
RESTORE_DEVICE_STATE_ON_STARTUP=0

恢复无线电设备状态(内置蓝牙、WiFi、WWAN)在系统启动时从上次关机的状态:
0 - 禁用,1 - 启用
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan" 

系统启动时禁用内置无线设备。
bluetooth
wifi – Wireless LAN
wwan – Wireless Wide Area Network (UMTS)

多个设备之间用空格分隔。
我遇到了一个错误,我的蓝牙设备在启动时没有禁用,所以如果你遇到这个问题,只需进行以下配置。
sudo nano /etc/rc.local 

在退出0之前,添加以下行
rfkill block bluetooth

保存并退出并重新启动

使用TLP

安装后,TLP将在系统启动时自动激活。

要立即启动它而无需重新启动或应用更改的设置,请使用以下命令:

sudo tlp start

使用tlp-stat终端命令来检查TLP是否正常工作。
sudo tlp-stat

检查您的系统温度
sudo tlp-stat -t

只显示电池信息:
sudo tlp-stat -b
sudo tlp-stat --battery 

只显示配置:
tlp-stat -c
tlp-stat --config

只显示无线电设备的开关状态:
tlp-stat -r
tlp-stat --rfkill

只显示温度和风扇速度。
tlp-stat -t 

应用电池设置(忽略实际电源):

sudo tlp bat

应用交流电设置(忽略实际电源):
sudo tlp ac

你可以检查你正在使用哪个输入/输出设备。
sudo tlp-stat  # Check the section +++ Storage Devices

跟踪模式

为了更仔细地检查TLP中的疑似问题,请在/etc/default/tlp中激活跟踪模式:

TLP_DEBUG="lock nm path pm rf run sysfs udev usb" 

将上述行添加到/etc/default/tlp的末尾。累积的跟踪数据可以随时读取。
tlp-stat -T 

或者

grep "tlp" /var/log/debug 

如果跟踪输出丢失了,您需要修改rsyslogd配置。创建文件/etc/rsyslog.d/90-debug.conf并包含以下内容。
*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug

重启守护进程
sudo /etc/init.d/rsyslog restart 

来源和额外帮助

TLP网站提供非常好的支持

有用的配置链接1

TLP设置

ALPM


可选的微调

使用indicator-cpufreq微调您的CPU频率

安装

indicator-cpufreq将帮助您随时更改CPU频率:

sudo apt-get install indicator-cpufreq 

去“Dash”>搜索“Startup”>编辑“indicator-cpufreq”添加“-f”或复制粘贴以下命令:
indicator-cpufreq -f 

enter image description here

截图

screenshot

使用这个指示器,你可以监控当前的CPU频率并且可以改变CPU频率。
改变CPU频率:
点击指示器。

screenshot

  • 额外建议

  • VA-API(Intel / AMD GPU 硬件加速)

概述

VA-API(视频加速 API)的主要目的是在当前流行的编码标准(MPEG-2、MPEG-4 ASP/H.263、MPEG-4 AVC/H.264 和 VC-1/VMW3)上,通过各种入口点(VLD、IDCT、运动补偿等)实现硬件加速的视频解码/编码。虽然考虑过扩展 XvMC,但由于其最初设计仅适用于 MPEG-2 MotionComp,因此更有意义的是从头开始设计一个接口,可以完全暴露当今 GPU 的视频解码能力。

官方 Intel 驱动程序正在使用 VA-API

支持的视频编解码器

在Ubuntu中安装Intel / AMD VA-API驱动程序

对于Intel GPU(适用于Intel HD Graphics以及G45及更高版本):

sudo apt-get install i965-va-driver libva-intel-vaapi-driver vainfo

对于AMD Radeon显卡(您还需要专有驱动程序!):
sudo apt-get install xvba-va-driver vainfo

在Ubuntu中安装支持VA-API的MPlayer。
默认情况下,官方Ubuntu存储库中提供的MPlayer版本不支持VA-API,但您可以使用PPA(个人软件包归档)提供的自定义MPlayer构建来支持VA-API。
sudo add-apt-repository ppa:sander-vangrieken/vaapi
sudo apt-get update
sudo apt-get install mplayer-vaapi

现在您需要安装SMPlayer或VLC
sudo add-apt-repository ppa:rvm/smplayer
sudo apt-get update
sudo apt-get install smplayer

OR
sudo apt-get install vlc

配置

SMPLAYER

在“选项”标签页中的“首选项”中,选择“视频”标签页,然后选择“常规视频”,将视频输出驱动程序设置为“vaapi”:

screenshot

VLC

在工具 > 首选项 > 输入/编解码器 > 启用使用 GPU 加速解码

enter image description here

有用的链接


Intel显卡的节能调整

sudo nano /etc/default/grub

改变:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 

给:
GRUB_CMDLINE_LINUX_DEFAULT=""quiet splash intel_pstate=disable i915.lvds_downclock=1 drm.vblankoffdelay=1 i915.semaphores=1 i915_enable_rc6=1 i915_enable_fbc=1"

运行:
sudo update-grub

有用的链接


20非常全面的回答!TLP也是我首选的工具。或许你还可以补充一下,TLP可以通过sudo tlp start / sudo tlp stop来启动和停止,而且你还可以使用sudo tlp bat / sudo tlp ac手动切换不同的电源模式。 - Glutanimate
哦,还有作为一个节能恐惧症患者,你可能也想看看powertop,它可以检查当前的功耗并验证TLP是否起到了作用。 - Glutanimate
1请查看我的回答:http://askubuntu.com/questions/112705/how-do-i-make-powertop-changes-permanent - Qasim
看起来你已经覆盖了一切。太棒了,伙计!至于全局的答案,我认为这是一个很棒的想法。像你这样的好概述很难得到。 - Glutanimate
1@Glutanimate ....已更新... - Qasim
4完全放电现代笔记本电脑的电池可能会对电池造成损害:http://batterycare.net/en/guide.html#descBat 这方面有很多更多的资料,可以请谷歌搜索“电池完全放电谬论”。 - MarkovCh1
关于TLP,有一件我讨厌的事情……它不是最左边的指示器,而是传输指示器。所以每次CPU切换处理器速度时,传输指示器会从左到右,再从右到左。非常令人恼火。 - Rinzwind
@Rinzwind 如果不使用-f选项indicator-cpufreq指示器,就保持默认设置即可... - Qasim
4非常感谢您的详尽回答。对于我如何设置系统以节省电池使用,帮助了我很多。 - harry
3GRUB_CMDLINE_LINUX_DEFAULT=""quiet splash pcie_aspm=force i915中似乎有额外的不必要引号。 - Andrei Botalov
我想请教您的专业知识来解决之前提出的一个问题:http://askubuntu.com/questions/303800/shutdown-slow-in-13-04-hangs-on-shutting-down-processes 看起来 tlp 并没有使用 upstart,而是使用了 sysvinit。这导致了关机过程变慢,因为出现了 sysvinit 失败的情况。有没有办法让 tlp 使用 upstart?谢谢。 - user68186
故意放电锂离子电池只会减少其使用寿命。每周放电两次的建议是完全胡扯。 - Robert Siemer
@Qasim你能否澄清旧的、不准确的信息?这段文字太长了,很难阅读。 - Braiam
@Braiam,我会尽快尝试做到这一点(新功能)。我一直在14.04上测试,并尽快更新。 - Qasim
1好的,请记得删除过时的信息,保持整洁。 - Braiam
1你说它只适用于Unity,但在开发者的常见问题解答中,我看到了这样的描述:“TLP的所有功能都与桌面环境无关。”(也许你应该更新一下,我差点因为我的GNOME桌面而放弃使用TLP...) - mikakun
但是我该如何将它置于睡眠模式并从睡眠模式中唤醒呢? - JohnMerlino
这在14.04版中有任何影响吗?我安装了它,一切都似乎没有改变。我在系统启动时使用powertop --auto-tune,所以也许我之前已经优化过一切了? - rubo77
是的,你需要安装powerstat软件包,然后使用powerstat -d 0 @rubo77来检查它的功耗。 - Qasim
Indicator-TLP在答案中指定的地址不再可用,但可以在这里找到:https://raw.githubusercontent.com/silverjam/Sysmods/master/scripts/indicator-TLP.py - Sadi
不想重复,但是这在16.04版本中有任何影响吗?Powertop可能会更好一些吗? - Cirelli94
1上面的grub命令中有一个额外的"'quiet splash'之前,导致出现错误"/usr/sbin/grub-mkconfig: 36: /etc/default/grub: Syntax error: EOF in backquote substitution"。应该是GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable i915.lvds_downclock=1 drm.vblankoffdelay=1 i915.semaphores=1 i915_enable_rc6=1 i915_enable_fbc=1" - Bridge
如果indicator-cpufreq显示为“performance”,而tlp显示为“bat”,会发生什么情况呢?每次我从交流电源断开笔记本电脑时,我需要手动在indicator-cpufreq菜单中更改为“powersave”吗? - Clément
运行sudo update-rc.d -f ondemand remove会给我返回insserv: script mysql.server: service mysql already provided!。你知道如何解决这个问题吗? - nalzok
从Ubuntu Wily 15开始,TLP通过官方的Ubuntu软件仓库提供。 - Ferroao

这是我在安装Ubuntu 13.04(Raring Ringtail)后要做的7件事中读到的:

Jupiter曾经是在新安装Ubuntu后首先安装的东西之一,但不幸的是该应用已经停止开发,并且旧版本在Ubuntu 13.04中无法正常工作。

但是,如果你对电池续航时间感兴趣,你可以使用TLP,这是一个安装后就可以忘记的工具,因为它会自动调整你的系统以获得更好的功耗/电池续航时间。

要在Ubuntu 13.04中安装TLP,请使用以下命令:

sudo add-apt-repository ppa:linrunner/tlp  
sudo apt-get update  
sudo apt-get install tlp tlp-rdw   
sudo tlp start

我对TLP没有个人经验。

2主页:http://linrunner.de/en/tlp/tlp.html - Rinzwind
我用了几天的TLP,我的笔记本电脑比Windows系统冷4到6度。 - Qasim

木星13.04已经到了!
sudo add-apt-repository ppa:jolicloud-team/ppa
sudo apt-get update
sudo apt-get install jupiter

请注意,这可能只适用于12.04、12.10和13.04版本:https://launchpad.net/~jolicloud-team/+archive/ubuntu/ppa - Wilf

PowerTOP是一个Linux工具,用于诊断功耗和电源管理问题。
除了作为诊断工具外,PowerTOP还有一个交互模式,用户可以在Linux发行版未启用这些设置的情况下尝试各种电源管理设置。
这个udev工具可以自动启用最激进的节能设置。

/etc/udev/rules.d/10-local-powersave.rules

# PCI runtime power management
ACTION=="add", SUBSYSTEM=="pci", ATTR{power/control}="auto"

# USB autosuspend
ACTION=="add", SUBSYSTEM=="usb", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/autosuspend" ATTR{power/autosuspend}="60"

# SATA active link power management
SUBSYSTEM=="scsi_host", KERNEL=="host*", ATTR{link_power_management_policy}="min_power"

# Wlan power save
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*" RUN+="/usr/sbin/iw dev %k set power_save on"

# Disable bluetooth
SUBSYSTEM=="rfkill", ATTR{type}=="bluetooth", ATTR{state}="0"

# Disable wake-on-LAN
ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*" RUN+="/usr/sbin/ethtool -s %k wol d"

powertop是一个不错的工具,但在14.04版本中,文件/etc/udev/rules.d/10-local-powersave.rules已经不存在了,那你在这里发布的设置怎么办呢?我使用powertop --auto-tune来调整一切。 - rubo77
你可以自己创建这个文件。 - Ari Malinen
那你需要Powertop吗?还是你在建议两件不同的事情? - rubo77
不,你不需要使用powertop来使用这个配置。 - Ari Malinen

enter image description here

我想将auto-cpufreq添加到列表中。这是一个新的自动CPU速度和功耗优化工具,适用于使用Intel CPU的Linux笔记本电脑。正在开发对AMD CPU的支持。
该命令行工具根据从计算机收集的各种信息(如电池状态、CPU使用率和系统负载)自动更改CPU频率缩放、调度程序(在性能和节能之间切换,这是当今默认的intel_pstate缩放驱动程序支持的唯二两种模式)和Turbo Boost状态。(来源:Linux Uprising
下面的安装说明来自其Github页面:
安装依赖项:
sudo apt install git python3-dev python3-pip python3-distro python3-psutil python3-click python3-power -y

在Ubuntu 19.10之前的版本上:
pip3 install --upgrade psutil click distro power

从Git获取auto-cpufreq:
git clone https://github.com/AdnanHodzic/auto-cpufreq.git

运行auto-cpufreq
cd auto-cpufreq

sudo python3 auto-cpufreq.py --live

--live启用auto-cpufreq,这样您就可以看到系统在新设置下的行为,但它不会使这些设置永久生效。

要使其永久生效,请使用--install选项(以便更改在重新启动后仍然保持;这将安装auto-cpufreq守护进程和systemd服务):

sudo python3 auto-cpufreq.py --install