为什么我的电脑在使用Ubuntu系统时续航时间比Windows系统短?

去年我购买了一台预装Windows 7的Dell Inspiron 5315笔记本电脑。我在它旁边安装了Ubuntu 10.10,实现了双系统启动。但是当我升级到Ubuntu 11.10后,我发现电池续航时间不到一个小时!而Windows 7可以运行2.5个小时。
有没有可能解释一下为什么我的电池在Ubuntu下耗电更快?有人能告诉我更好的省电选项吗?

可能是重复的问题 http://askubuntu.com/questions/285434/is-there-a-power-saving-application-similar-to-jupiter/285681#285681 - Qasim
@Qasim 这不是重复问题。那个问题涉及到Jupiter替代方案,而这个问题是关于为什么Ubuntu的电池续航时间较短的原因。 - Seth
这篇帖子怎么可能是重复的?你展示的另一篇帖子是在4月25日发布的,而这篇帖子是去年的。 - Rajesh Pantula
5个回答

据称,Windows 7的电池续航时间比Ubuntu更好,虽然我还没有在我的笔记本上进行比较。尽管如此,有很多方法可以增加续航时间。以下是我发现最有效的几种方法:

  1. 安装软件包laptop-mode-tools。它会在笔记本电池供电时将其切换到“笔记本模式”,硬盘停转,外部设备开启节能模式等。
  2. 使用任务管理器查找最耗资源的进程并禁用它们(还可以检查PowerTOP)。同时禁用不需要的启动服务(通过apt-get install bum)以及图形窗口管理器启动的服务。
  3. 检查CPU频率是否动态调整(cat /proc/cpuinfo)。
  4. 降低屏幕亮度(显示屏消耗最多电力)。
  5. 一些其他随机的提示可能也有帮助,例如参见this answer

2所有我看过的报告都说Ubuntu LTS版本的电池续航时间比Windows更好。最近的Ubuntu版本由于几个已知原因出现了功耗回归问题,可能还有其他原因。在我的笔记本上,这个问题在即将在四月发布的Precise(开发版本)中得到了根本性的改善。或许巧合的是,这也恰好是一个LTS版本。 - Jo-Erlend Schinstad
1安装类似于laptop-mode-tools这样的工具时,要小心像电池供电时鼠标断开连接这样的问题。 - jeshurun

PCI Express系统中存在一个相当知名的内核问题kernel issue with power management

尝试编辑您的引导启动grub条目,将pcie_aspm=force添加到内核参数中,看看是否能改善您的功耗情况。


3这个答案真的正确吗?packages.ubuntu.com显示Ubuntu Linux 10.10(Maverick)有Linux内核2.6.35.31.40,而根据Phoronix网站的说法,电源问题始于Linux内核2.6.38,并首次在Ubuntu Linux 11.04(Natty)上发现。请参阅http://packages.ubuntu.com/maverick/linux和http://www.phoronix.com/scan.php?page=article&item=linux_aspm_solution&num=1。 - Arnel A. Borja
1@ArnelA.Borja - OP提到他们在11.10版本中注意到了这个问题,所以除非在11.04和11.10之间修复了该问题,否则现在出现问题是有道理的。 - Shauna

对于13.04版本

关于电池寿命有很多误解。从长远来看,电池的寿命主要受到热量的影响。而从短期来看,不必要的服务和进程会对电池寿命造成损害。Windows在限制功耗方面做得相当不错,因为与硬件供应商进行了大量合作,优化了硬件功耗限制。

在使用电池时,您希望尽量减少电脑的发热量。在Ubuntu 13.04上,您可以使用TLP。它具有以下功能(非详尽列表):

内核笔记本电脑模式和脏缓冲区超时; 处理器频率调节,包括“增加动力”/“增加核心”; 针对多核/超线程的能量感知进程调度程序; 硬盘高级功耗管理水平和磁盘停转超时(每个磁盘); SATA激进的链路功耗管理(ALPM); PCI Express主动状态功耗管理(PCIe ASPM)- Linux 2.6.35及以上版本; 用于PCI(e)总线设备的运行时功耗管理- Linux 2.6.35及以上版本; Radeon KMS功耗管理- Linux 2.6.35及以上版本,不适用于fglrx; Wifi节电模式- 取决于内核/驱动程序; 在电池供电下关闭光驱。
这里有一个完整的答案here详细解释如何使用和配置它。答案here也可能会帮助你确保你的(可能被调整的)设置在每次以电池供电启动时生效。
关于Windows和Ubuntu之间的区别,你应该问自己以下几个问题:
- 你是否安装了电源管理工具,比如TLP?并且你是否配置得当?(附注:一个电源管理工具还可以确保在需要时发挥全部功率。我注意到了相当大的差异。)
- 在Windows和Ubuntu上运行的东西是一样的吗?你运行的一切都是必要的吗(你是否有一个运行joomla或wordpress教程的apache服务器)?有时候人们在Ubuntu上拥有一个完整的开发堆栈,而在Windows上只有一些办公应用程序。
- 测量结果是否相同?你是否检查过Windows和Ubuntu实际给出的承诺时间?
- 你使用了多少个处理器?还有在启动时呢?
- 你是否使用了GPU?这可能会带来极大的不同!如果你有一张支持Optimus技术的Nvidia显卡(基本上,这是一种节能选项,你的Windows机器将默认支持),你应该使用bumblebee链接中的bumblebee。顺便说一下,它的开发人员是非常棒的人,在IRC上会立即帮助你。
- 你是否使用了相同的屏幕亮度设置?
Ubuntu相对于Windows的优势在于你可以选择另一个桌面管理器(Unity对CPU要求较高)。更好的配置(即使使用Unity)可以让你的电池续航时间翻倍。具体效果因人而异。

你可能想要升级到Precise(即将在四月份发布的12.04LTS版本),这个开发版本在我的电脑上似乎改善了电池续航时间。你也可以安装10.04LTS,并在12.04LTS可用时进行升级。10.04LTS的电池续航时间要好得多。

4不确定是否升级到目前的Alpha版本发行版是你在不了解用户知识水平的情况下可以给出的最好建议。这样做相当危险,应该避免(依我之见)。 - Bruno Pereira
1我通常是不会做那种事的,但是事情变了,有了Precise。如果我理解正确的话,它应该在整个周期内都可用。除了升级管理器有点小问题外,到目前为止我还没有遇到任何其他问题。但你说得对。我确实建议安装10.04,并在12.04发布后升级。 - Jo-Erlend Schinstad
尽管是Alpha版本,但仍然值得期待。 - Uri Herrera
当然可以,但不像之前的alpha版本那样。但是再说一遍,我推荐的是10.04版本,绝对不是alpha版。我想表达的重点是,这并不是关于Ubuntu的普遍情况,而是一个特殊且暂时的情况。 - Jo-Erlend Schinstad
听起来挺公平的,加一。 - Bruno Pereira

如果你想要最大限度地延长电池寿命,你应该选择一个轻量级的设置。此外,内核3.2已经改进了一些在早期内核中出现的问题。
以下是我使用的内核选项: pcie_aspm=force i915.i915_enable_rc6=1 acpi_osi=Linux acpi_backlight=vendoracpi_osi=Linux可能与你的戴尔系统相关或不相关。 i915_enable_rc6启用了CPU的空闲睡眠模式。 pcie_aspm已经解释过了。
现在来说说低功耗设置。你可以选择LXDE或Razor Qt桌面环境,或者像我一样做。选择一些轻量级的窗口管理器,并从XFCE中提取你需要的组件。
当关闭WiFi时,我的笔记本电脑的电池续航时间可以达到7小时。
现在来谈谈笔记本模式。确保你已经安装了cpufreq,然后在/etc/laptop-mode/conf.d/cpufreq.conf中确保电池的调节器是powersave,即BATT_CPU_GOVERNOR=powersave

cpufreq-info 告诉你当前使用的调频器。