題 如何解釋操作系統和硬件之間奇怪的功耗差異以及如何降低它?


我用一個瓦特表測量我的電腦的功耗。以下是結果:

my laptop     + Ubuntu 14.04:              14.5 watt
my laptop     + ArchLinux:                 30 watt
my laptop     + Bios Setting:              45 watt
my laptop + Ubuntu 14.04(init=/bin/bash):  31 watt
my laptop + ArchLinux(init=/usr/bin/bash): 33 watt
my old laptop + Ubuntu 14.04:              21 watt
my old laptop + Ubuntu 16.04:              24 watt
my old laptop + ArchLinux:                 19 watt
my old laptop + Bios Setting:              22 watt

PS:
my laptop(CPU: i5-2410; BIOS: AMI A0.18; Board: TSINGHUA TONGFANG CO.,LTD)
my old laptop(CPU: Pentium Dual-core cpu T4200; Board: LENOVO; Board: LENOVO)

除了在Bios設置模式下的所有數據被收集,而環境空閒等待用戶命令並且CPU速率非常低。

我想調整我的ArchLinux使用與Ubuntu-14.04相同甚至更低的功率。我已經嘗試過cpufreq,phc-intel,並編譯了我自己的linux內核,但沒有任何效果。我試著跑 powertop --auto-tune,ArchLinux和Ubuntu-14.04都能將功耗降低2-3瓦。

這是與我的筆記本電腦的ASPM相關的啟動消息:

> dmesg | grep -i aspm
[    0.162661] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[    0.162746] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
[    3.323580] r8169 0000:04:00.0: can't disable ASPM; OS doesn't have ASPM control

奇怪的是我的筆記本電腦在BIOS設置模式下消耗45瓦特。並且必須與用戶空間服務有關,因為當它們初始化為/ bin / bash時,Ubuntu-14.04和ArchLinux消耗大約30瓦特。你能解釋為什麼這麼高嗎?謝謝。


4
2017-07-08 13:16


起源


BIOS模式可能不會運行許多實際的風扇控製或乘數調整(即,即使空閒也使CPU保持全速運行)。 - Paul Stelian
是的,我是這樣的。我的筆記本電腦CPU支持pstate,Linux內核使用此功能來降低CPU頻率。 - TorosFanny
在我的一台舊計算機上,顯卡在BIOS檢查期間最大時鐘(以及它的風扇),直到Ubuntu完全啟動。在某些BIOS上可以進行設置。並非所有BIOS在不使用時都會降低CPU的功耗。您是否在兩個Linux發行版上加載了相同的驅動程序和服務?也許一些索引服務正在後台運行...... - Hastur
除了Hastur評論,您還可以使用 powertop 調整硬件省電選項並監控硬件的使用以比較分佈。 - user.dz
@Hastur,你是對的。我嘗試使用內核參數運行ArchLinux和Ubuntu-14.04 init=../bash,它們的功耗幾乎相同。我必須弄清楚Ubuntu-14.04中的哪個用戶空間服務降低瞭如此重要的功耗。 - TorosFanny


答案:


我成功地將筆記本電腦的功耗降低到大約16.7瓦特。

關鍵是安裝 bbswitch, 根據 https://wiki.archlinux.org/index.php/Bumblebee#Power_management


1
2017-07-20 03:37



...如果你有2個顯卡(一個nvidia)。 - Francesco