编辑:在阅读了@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 下运行,我已手动禁用所有我不介意手动启动的服务,例如postgresql
或tor
。如您所见,电池的放电速度为~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,转而使用更节能的版本。