Ubuntu 13.10:改善功耗(Thinkpad T530)

Ubuntu 13.10:改善功耗(Thinkpad T530)

编辑在阅读了@jandry的回复后,我决定尝试使用另一个带有不同窗口管理器的发行版,看看是否真的是 Unity 的问题。我安装了 UbuntuGnome,令我惊讶的是,全新安装的电池寿命约为 8-10 小时,甚至比 Windows 7 还要长!很遗憾 Unity 是罪魁祸首。

我在 Thinkpad T530 机器上运行 Ubuntu 13.10。(Core i7、9 芯电池、16GB RAM、nVidia + Intel VGA、15 英寸 LCD,...)。由于我不玩游戏,所以我从 BIOS 中禁用了 nVidia 卡,因此实际上系统只有一张 VGA 卡,即英特尔卡。

我已安装并启用laptop-mode-tools。使用电池供电时,电池可提供约 3 小时的电量。同一台机器运行 Windows 7 时,电池续航时间约为 7-10 小时。

我知道比较 Windows 和 Linux 的电池消耗是没有意义的,因为它在很大程度上取决于操作系统上驱动程序的质量。但是,对于一块 9 芯电池来说,3 小时的充电时间还是相当荒谬的。

我安装了它powertop来寻找线索。这是登录后且在运行任何应用程序之前的完整输出:

The battery reports a discharge rate of 23.5 W
The estimated remaining time is 2 hours, 18 minutes

Summary: 341.5 wakeups/second,  6.5 GPU ops/seconds, 0.0 VFS ops/sec and 6.9% CPU use

Power est.              Usage       Events/s    Category       Description
  3.56 W     2729 rpm                   Device         Laptop fan
  3.15 W      1.1%                      Device         Display backlight
  1.58 W      0.0%                      Device         Display backlight
  383 mW      0.3 pkts/s                Device         Network interface: wlan0 (iwlwifi)
 45.3 mW     11.6 ms/s      54.5        Process        compiz
 30.3 mW     14.9 ms/s      23.7        Process        /usr/lib/unity/unity-panel-service
 20.1 mW      9.7 ms/s      19.6        Process        indicator-multiload
 13.6 mW      6.8 ms/s       9.1        Process        /usr/lib/x86_64-linux-gnu/hud/hud-service
 8.11 mW      3.3 ms/s      21.9        Process        /usr/lib/x86_64-linux-gnu/indicator-application-service
 7.84 mW      3.7 ms/s       9.7        Process        chromium-browser --no-startup-window
 7.03 mW    419.1 µs/s      15.0        Process        syndaemon -i 1.0 -t -K -R
 6.18 mW    650.0 µs/s      59.0        Process        [rcu_sched]
 5.79 mW      2.9 ms/s       3.5        Process        /usr/bin/X -core :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
 5.73 mW      1.3 ms/s      39.9        Interrupt      [46] i915
 4.69 mW      1.5 ms/s      21.5        Process        [irq/45-iwlwifi]
 4.17 mW      2.2 ms/s      0.00        Process        dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-S5L9UiJPRW
 3.32 mW      0.9 ms/s       2.6        Process        gnome-terminal
 2.43 mW      1.3 ms/s      0.15        Process        powertop
 2.05 mW      0.8 ms/s       6.9        Process        upstart-dbus-bridge --daemon --session --user --bus-name session
 2.01 mW      0.9 ms/s       3.5        kWork          iwl_bg_run_time_calib_work
 1.53 mW    372.9 µs/s       9.8        Timer          hrtimer_wakeup
 1.46 mW    679.7 µs/s       2.0        Process        /usr/bin/python3 /usr/bin/indicator-cpufreq
 1.42 mW    425.4 µs/s       7.3        Timer          tick_sched_timer
 973 µW     116.3 µs/s       9.0        kWork          ieee80211_iface_work
 864 µW     307.7 µs/s       3.3        Process        stardict
 844 µW      99.0 µs/s       7.8        Interrupt      [45] iwlwifi
 629 µW     263.2 µs/s       1.5        Process        /usr/lib/x86_64-linux-gnu/indicator-power/indicator-power-service
 478 µW     252.0 µs/s      0.00        Process        [kworker/u16:5]
 475 µW     245.6 µs/s      0.10        kWork          output_poll_execute
 447 µW     233.2 µs/s      0.05        Process        [rcuos/6]
 418 µW     220.3 µs/s      0.00        Process        [kworker/u16:7]
 398 µW     205.0 µs/s      0.10        Process        [rcuos/0]
 384 µW     202.2 µs/s      0.00        Process        [rcuos/4]
 381 µW     200.9 µs/s      0.00        Timer          process_timeout
 380 µW     195.9 µs/s      0.10        Interrupt      [7] sched(softirq)
 373 µW      35.7 µs/s       3.6        kWork          intel_unpin_work_fn
 329 µW     173.2 µs/s      0.00        Interrupt      [1] timer(softirq)
 303 µW     110.9 µs/s       1.1        Process        /usr/lib/upower/upowerd
 256 µW     135.0 µs/s      0.00        Process        dbus-daemon --system --fork
 251 µW      39.7 µs/s       2.1        kWork          intel_fbc_work_fn
 240 µW     102.3 µs/s       0.5        Process        NetworkManager
 230 µW     121.2 µs/s      0.00        Process        [rcuos/2]
 181 µW      95.3 µs/s      0.00        Timer          delayed_work_timer_fn
 153 µW      72.0 µs/s      0.20        Process        /usr/sbin/irqbalance
 149 µW      30.2 µs/s       1.1        Interrupt      [4] block(softirq)
 140 µW      56.0 µs/s       0.4        Process        gnome-settings-daemon -r
 134 µW      70.5 µs/s      0.00        Interrupt      [9] RCU(softirq)
 126 µW      64.2 µs/s      0.05        Process        [rcuos/3]

此外,所有 CPU 核心都在 ~1200MHz 下运行,我已手动禁用所有我不介意手动启动的服务,例如postgresqltor。如您所见,电池的放电速度为~24瓦/小时这实在太过分了。

我该如何改善这种情况?这种糟糕的放电率背后的主要罪魁祸首是什么?我无法理解报告该值的逻辑powertop。我读了大量有关功耗的帖子,但无济于事。

短暂性脑缺血发作,

答案1

删除了此 DEBIAN 论坛链接,因为我没有足够的“Rep”

https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T530

我写了 Arch wiki 的电池部分,你可以在上面的 debian 帖子末尾看到我的回复。我怀疑 Ubuntu 最大的问题是它从启动时直接运行大量进程,其中许多进程你并不需要。此外,laptop-mode-tools 不仅仅是安装,它还完成了交易 - 你必须仔细检查它的选项。我在任何地方都忽略了提到创建文件:/etc/modprobe.d/intel.conf 并在其中放置以下内容:options i915 i915_enable_rc6=7 i915_enable_fbc=1 lvds_downclock=1

这使得我的空闲使用功率低于 Arch wiki 中列出的值。使用 Arch 世界中的最新内核 (3.13.4-1-ARCH),我的 T530(规格与您的类似)空闲时使用约 6.4-6.6 瓦。在我安装裸机安装(使用我的 cd 密钥从 Microsoft 获得裸机 Windows 7 CD - 合法)并将其专门设置为电池寿命后,Windows 使用了 8 瓦。Fedora 更高,我还没有为移动使用设置 Debian。

我安装的 Arch 至少比没有空调的 Windows 持续的时间长得多(如果使用,至少可以持续一个小时;如果空闲时间很长,可以持续更长时间)。也就是说,不要失去信心!T530 的驱动程序实际上很棒,除了以太网卡(没有省电功能)。此外,如果我没记错的话,Unity 默认使用合成 - 即使在英特尔卡上使用 GPU 也会耗尽电池寿命。FWIW,我已将 Windows 设置为不使用 GPU,但它仍然更耗电。祝你好运。

编辑就你的情况而言,肯定是 Unity 耗尽了你的电池。而最大的问题就在这里——如果你继续使用 Unity,你真的无能为力。注意到 compiz 进程了吗?这就是 Unity 现在用作合成器的过程。这相当于深度睡眠唤醒约 50 次,再加上 Unity 面板的额外约 25 次唤醒。然而,最大的成本是 GPU 唤醒——每秒 6 次(!)。为了进行比较,请查看此屏幕截图: http://tinypic.com/view.php?pic=ru7g4g&s=8

这是 Ubuntu 走向衰败的典型例子(双关语)。在集成间谍软件和稀疏但资源密集的界面之间,它已今非昔比。以一位从 Ubuntu 6.10 开始并在社区中非常活跃的人为例。我不是专家,但您现在看到的是我们许多(前)成员已经厌倦的东西。

那么你能做什么呢?好吧,如果你不想,你不必完全放弃 Unity。不过,在使用电池时,你必须放弃它。上面的屏幕截图并不是唯一的方法;你可以安装 Openbox 和面板应用程序(如我所拥有的 xfce4-panel)、Fluxbox(它有自己的工具栏和窗口选项卡),或者甚至是许多人喜欢的 PekWM。然后,你将在登录屏幕上选择你的选项 - 这基本上为你提供了“电池”选项和“开机”选项(Unity)。

或者,您是否考虑过 Xubuntu?您可以在 Xubuntu 上禁用合成,这样内存、CPU 使用率和 GPU 使用率会低得多(禁用合成)。如果您告诉 Kwin(KDE 的窗口管理器,Kubuntu 的桌面环境)禁用合成,即使是 Kubuntu 也可能为您节省电量。这样做的好处是,Kwin 是目前功能最丰富的窗口管理器,因此您当然可以拥有闪存和功能。

这取决于你。不幸的是,以前一个中等严重的“错误”现在变成了一个“功能”;Ubuntu 不再节能了。你要么继续使用 Unity,但电池寿命永远不长,要么放弃 Unity,转而使用更节能的版本。

相关内容