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
sudo apt-get install tp-smapi-dkms acpi-call-tools tlp tlp-rdw smartmontools ethtool
Unity的TLP指示器 一个为Unity创建的指示器,可以方便地在交流电和电池模式之间切换。 请自行承担使用风险。 在此处下载:indicator-TLP.py
删除默认的Ubuntu CPU频率配置
sudo update-rc.d -f ondemand remove
(这不是TLP的一般先决条件,只有如果用户决定更改默认的调度程序时才需要。如果用户在不更改TLP设置的情况下发出命令,他将得到"perfomance",这对电池寿命来说相当糟糕。)请参考第3节处理器和频率调整部分。
TLP的主配置文件位于/etc/default/tlp
sudo -i gedit /etc/default/tlp
TLP_ENABLE=1
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
cat /usr/lib/pm-utils/power.d/laptop-mode
这控制系统在尝试避免写入磁盘时的侵略性程度。磁盘空闲时间越长,您可以节省更多电力。
此功能仅在使用电池供电时激活,并在使用交流电时恢复这些值为内核默认值。
默认值为5,启用笔记本模式并强制系统等待5秒钟,以便在有写入磁盘请求时刷新尽可能多的数据。
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
保留默认值
默认值为60,这意味着内核不会强制进程将已更改但未保存的文件信息写入,直到可用系统内存的60%填满了脏信息。
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开发者
在使用"保守模式"而不是"省电模式"时,尤其是在使用交流电时,这不应该是一个普遍的建议,而只是针对那些产生过多热量或风扇噪音的硬件的选项。
#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_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"
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)
#DISK_IOSCHED="cfq cfq"
选择磁盘设备的io调度程序:noop/deadline/cfq(默认值:cfq) 多个设备的值请用空格分隔。
noop通常是内存支持的块设备(例如ramdisks)和其他非旋转媒体(闪存)的最佳选择,尝试重新安排I/O是浪费资源的。
deadline是一种轻量级的调度程序,试图对延迟设置硬限制。
cfq试图维护系统范围内I/O带宽的公平性。
min_power/medium_power/max_performance
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
(配置方法): 低/中/高/自动/默认
自动 = 电池供电时为中速,插电源时为高速;默认 = 使用硬件默认设置(仅适用于 Kernel >= 2.6.35,不适用于 fglrx 驱动程序!)
#RADEON_POWER_PROFILE_ON_AC=high
#RADEON_POWER_PROFILE_ON_BAT=low
1=禁用/5=启用
(仅适用于Linux 2.6.32及更高版本,部分适配器适用!)
WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5
WOL_DISABLE=Y
启用Intel HDA、AC97设备的音频节能功能(超时时间以秒为单位)。值为0表示禁用,值大于等于1表示启用节能模式。
SOUND_POWER_SAVE=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_BAT=1
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
RUNTIME_PM_ALL=1
所有PCI(e)总线设备的运行时电源管理:0=禁用/1=启用,警告:实验性选项,可能导致系统不稳定
有时候当我将USB鼠标接收器插入USB 3.0端口时,它无法工作,但当我将其插入USB 2.0端口时,它可以正常工作,而且我的所有USB 3.0设备都能正常工作,没有问题。
设置为0以禁用/设置为1以启用USB自动挂起功能
USB_AUTOSUSPEND=1
RESTORE_DEVICE_STATE_ON_STARTUP=0
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
bluetooth
wifi – Wireless LAN
wwan – Wireless Wide Area Network (UMTS)
sudo nano /etc/rc.local
rfkill block bluetooth
安装后,TLP将在系统启动时自动激活。
要立即启动它而无需重新启动或应用更改的设置,请使用以下命令:
sudo tlp start
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"
tlp-stat -T
或者
grep "tlp" /var/log/debug
/etc/rsyslog.d/90-debug.conf
并包含以下内容。*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug
sudo /etc/init.d/rsyslog restart
indicator-cpufreq
微调您的CPU频率indicator-cpufreq
将帮助您随时更改CPU频率:
sudo apt-get install indicator-cpufreq
indicator-cpufreq -f
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 的视频解码能力。
sudo apt-get install i965-va-driver libva-intel-vaapi-driver vainfo
sudo apt-get install xvba-va-driver vainfo
sudo add-apt-repository ppa:sander-vangrieken/vaapi
sudo apt-get update
sudo apt-get install mplayer-vaapi
sudo add-apt-repository ppa:rvm/smplayer
sudo apt-get update
sudo apt-get install smplayer
sudo apt-get install vlc
SMPLAYER
在“选项”标签页中的“首选项”中,选择“视频”标签页,然后选择“常规视频”,将视频输出驱动程序设置为“vaapi”:
VLC
在工具 > 首选项 > 输入/编解码器 > 启用使用 GPU 加速解码
有用的链接
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
有用的链接
sudo tlp start
/ sudo tlp stop
来启动和停止,而且你还可以使用sudo tlp bat
/ sudo tlp ac
手动切换不同的电源模式。 - Glutanimatepowertop
,它可以检查当前的功耗并验证TLP是否起到了作用。 - GlutanimateGRUB_CMDLINE_LINUX_DEFAULT=""quiet splash pcie_aspm=force i915
中似乎有额外的不必要引号。 - Andrei Botalovpowertop --auto-tune
,所以也许我之前已经优化过一切了? - rubo77"
在'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"
。 - Bridgesudo update-rc.d -f ondemand remove
会给我返回insserv: script mysql.server: service mysql already provided!
。你知道如何解决这个问题吗? - nalzok这是我在安装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
sudo add-apt-repository ppa:jolicloud-team/ppa
sudo apt-get update
sudo apt-get install jupiter
/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"
/etc/udev/rules.d/10-local-powersave.rules
已经不存在了,那你在这里发布的设置怎么办呢?我使用powertop --auto-tune
来调整一切。 - rubo77sudo apt install git python3-dev python3-pip python3-distro python3-psutil python3-click python3-power -y
pip3 install --upgrade psutil click distro power
git clone https://github.com/AdnanHodzic/auto-cpufreq.git
cd auto-cpufreq
sudo python3 auto-cpufreq.py --live
--live启用auto-cpufreq,这样您就可以看到系统在新设置下的行为,但它不会使这些设置永久生效。
要使其永久生效,请使用--install选项(以便更改在重新启动后仍然保持;这将安装auto-cpufreq守护进程和systemd服务):
sudo python3 auto-cpufreq.py --install