当前位置: 首页>>技术教程>>正文


与 Windows 7 相比,笔记本电脑的电池寿命大幅缩短

, ,

问题描述

\\n

Possible Duplicate:
\\nWhy does my computer get less battery life with Ubuntu compared to Windows?

\\n

我在 Dell Studio XPS 1640 上运行 Ubuntu 10.10,电池续航时间约为 1 小时,而 Windows 7 上的电池续航时间约为 2.5 小时。

这是在无线和蓝牙开启的情况下进行的,但差异仍然令人难以置信。

是什么导致了这种差异?有没有办法在不失去核心功能的情况下缩小差距?

编辑:这是 powertop 的一些输出。这是蓝牙关闭、Wifi 打开的情况。输出对我来说似乎很正常,但正如所示,满电池的电池续航时间约为 1 小时……

Wakeups-from-idle per second : 476.2    interval: 10.0s
Power usage (ACPI estimate): 2.5W (1.2 hours)

Top causes for wakeups:
  30.0% (167.2)D  chrome
  21.0% (117.3)   [extra timer interrupt]
  13.9% ( 77.4)   [kernel scheduler] Load balancing tick
   3.4% ( 18.9)D  xchat
   7.1% ( 39.8)   [iwlagn] <interrupt>
   5.9% ( 32.9)   AptanaStudio3
   3.9% ( 21.6)D  java
   2.7% ( 14.9)   [TLB shootdowns] <kernel IPI>
   2.5% ( 14.1)   docky
   1.8% ( 10.0)   nautilus
   1.6% (  9.0)   thunderbird-bin
   1.0% (  5.5)   [ahci] <interrupt>
   0.9% (  5.0)   syndaemon
   0.8% (  4.3)   [kernel core] hrtimer_start (tick_sched_timer)

编辑:将 /proc/sys/vm/laptop_mode 更改为 5 (设置为 0 )后,唤醒似乎有所减少,尽管使用率似乎仍然太高:

Wakeups-from-idle per second : 263.8    interval: 10.0s
Power usage (ACPI estimate): 2.6W (0.9 hours)

编辑:我似乎发现了主要原因:我正在使用开源 ATI 驱动程序。我最近安装了官方 ATI 驱动程序,笔记本电脑的电池寿命似乎增加了一倍。

编辑:最后一次编辑。之前安装ATI官方驱动程序的’solution’结果是一个非解决方案。虽然它确实延长了电池寿命,但我的笔记本电脑分辨率在重新启动后最大为 1200×800。 (请注意,这个问题不需要在这个问题中回答,因为它是一个单独的案例)

编辑&解决方案:

经过更多的尝试和错误,我终于 foundcustom PPA 修补了 Maverick 的 2.6.35 内核。我的唤醒次数现已从 450-1100 次减少到最多 120 次(!)。

Wakeups-from-idle per second : 110,2    interval: 15,0s
Power usage (ACPI estimate): 2,7W (0,7 hours)

Top causes for wakeups:
  19,2% ( 25,7)   [extra timer interrupt]
  17,0% ( 22,7)   java
  13,9% ( 18,6)   [kernel scheduler] Load balancing tick
  10,5% ( 14,0)   docky
   8,8% ( 11,7)   [iwlagn] <interrupt>
   7,5% ( 10,0)   nautilus
   4,3% (  5,7)   [kernel core] hrtimer_start (tick_sched_timer)
   3,7% (  5,0)   syndaemon
   3,0% (  4,1)   [ahci] <interrupt>
   3,0% (  4,1)   ksoftirqd/1
   0,1% (  0,2)D  flush-8:0
   1,6% (  2,2)   mysqld
   1,2% (  1,7)   python
   0,7% (  1,0)   [kernel core] iwl_bg_monitor_recover (iwl_bg_monitor_recover)

最佳办法

使用 powertop 看看电量都去哪儿了

次佳办法

powertop 是很棒的工具,如果您有英特尔硬件,请检查一下\n http://www.lesswatts.org http://www.lesswatts.org/projects/powertop/known.php\n

第三种办法

Ubuntu Power Management Wiki 表示系统应该每秒唤醒大约 40 次。你的是476!

也就是说,这是我的输出:

Wakeups-from-idle per second : 185.4    interval: 1.8s
Power usage (ACPI estimate): 5.8W (8.9 hours) (long term: 6.4W,/8.1h)

Top causes for wakeups:
  37.5% (137.0)   [kernel scheduler] Load balancing tick
  19.2% ( 70.0)   chromium-browse
  10.4% ( 38.0)   [uhci_hcd:usb5, eth1] <interrupt>
   8.2% ( 30.0)   [kernel core] hrtimer_start (tick_sched_timer)
   7.7% ( 28.0)   [kernel core] add_timer (wl_timer)
   4.9% ( 18.0)   xbindkeys
   4.4% ( 16.0)   [i915@pci:0000:00:02.0] <interrupt>
   2.5% (  9.0)   Xorg
   1.9% (  7.0)   PS/2 keyboard/mouse/touchpad interrupt
   1.1% (  4.0)   [Rescheduling interrupts] <kernel IPI>
   0.5% (  2.0)   gvfs-afc-volume
   0.5% (  2.0)   gnome-terminal

我觉得有趣的是:

  • 我的唤醒次数是 185,比你的 476 低很多,但高于 40 的目标

  • 您报告的用电量仅为 2.5W – 听起来低得可疑

  • 我的电池续航时间为 8.9 小时,这与应有的时间差不多

第一个显而易见的事情是要尝试。从 bash 提示符运行此命令:

cat /proc/sys/vm/laptop_mode

它应该打印 5。

之后,也许其他人有一些想法,或者阅读 Wiki 看看是否有帮助。

第四种办法

听起来您的笔记本电脑的 ACPI 支持很差。当笔记本电脑制造商没有记录省电功能中的所有怪癖时,就会发生这种情况。结果是 Ubuntu 无法使笔记本电脑的某些部分进入睡眠状态,更糟糕的是,在不需要时无法关闭核心。

我认为你应该做的是关闭蓝牙,看看这对电池和负载有何影响。然后关闭wifi看看是否有影响。检查您的 BIOS 设置是否支持 ACPI 兼容性,并查看是否正在运行任何不断检查磁盘的程序。

还要检查屏幕的亮度设置,屏幕会消耗大量能量。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14345.html,未经允许,请勿转载。