我們都知道,現在幾乎都從 PC 機換到了膝上型電腦了。但是使用筆記本有個問題,我們希望電池耐用,我們可以使用到每一點電量。所以,我們需要知道電量都去哪裡了,是不是浪費了。
你可以使用 PowerTOP 工具來檢視沒有接入電源線時電量都用在了何處。你需要在終端中使用超級使用者許可權來執行 PowerTOP 工具。它可以訪問該電池硬體並測量電量使用情況。
什麼是 PowerTOP
PowerTOP 是一個 Linux 工具,用於診斷電量消耗和電源管理的問題。
它是由 Intel 開發的,可以在核心、使用者空間和硬體中啟用各種節電樣式。
除了作為一個一個診斷工具之外,PowweTop 還有一個互動樣式,可以讓你實驗 Linux 發行版沒有啟用的各種電源管理設定。
它也能監控行程,並展示其中哪個正在使用 CPU,以及從休眠狀態頁將其喚醒,也可以找出電量消耗特別高的應用程式。
如何安裝 PowerTOP
PowerTOP 軟體包在大多數發行版的軟體庫中可用,使用發行版的 包管理器[1] 安裝即可。
對於 Fedora 系統,使用 DNF 命令[2] 來安裝 PowerTOP。
-
$ sudo dnf install powertop
對於 Debian/Ubuntu 系統,使用 APT-GET 命令[3] 或 APT 命令[4] 來安裝 PowerTOP。
-
$ sudo apt install powertop
對於基於 Arch Linux 的系統,使用 Pacman 命令[5] 來安裝 PowerTOP。
-
$ sudo pacman -S powertop
對於 RHEL/CentOS 系統,使用 YUM 命令[6] 來安裝 PowerTOP。
-
$ sudo yum install powertop
對於 openSUSE Leap 系統,使用 Zypper 命令[7] 來安裝 PowerTOP。
-
$ sudo zypper install powertop
如何使用 PowerTOP
PowerTOP 需要超級使用者許可權,所以在 Linux 系統中以 root 身份執行 PowerTOP 工具。
預設情況下其顯示 “概覽” 頁,在這裡我們可以看到所有裝置的電量消耗情況,也可以看到系統的喚醒秒數。
-
$ sudo powertop
-
-
PowerTOP v2.9 Overview Idle stats Frequency stats Device stats Tunables
-
-
The battery reports a discharge rate of 12.6 W
-
The power consumed was 259 J
-
The estimated remaining time is 1 hours, 52 minutes
-
-
Summary: 1692.9 wakeups/second, 0.0 GPU ops/seconds, 0.0 VFS ops/sec and 54.9% CPU use
-
-
Usage Events/s Category Description
-
9.3 ms/s 529.4 Timer tick_sched_timer
-
378.5 ms/s 139.8 Process [PID 2991] /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8314 -prefMapSize 173895 -schedulerPrefs 00
-
7.5 ms/s 141.7 Timer hrtimer_wakeup
-
3.3 ms/s 102.7 Process [PID 1527] /usr/lib/firefox/firefox --new-window
-
11.6 ms/s 69.1 Process [PID 1568] /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 173895 -schedulerPrefs 0001,
-
6.2 ms/s 59.0 Process [PID 1496] /usr/lib/firefox/firefox --new-window
-
2.1 ms/s 59.6 Process [PID 2466] /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00
-
1.8 ms/s 52.3 Process [PID 2052] /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00
-
1.8 ms/s 50.8 Process [PID 3034] /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8314 -prefMapSize 173895 -schedulerPrefs 00
-
3.6 ms/s 48.4 Process [PID 3009] /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8314 -prefMapSize 173895 -schedulerPrefs 00
-
7.5 ms/s 46.2 Process [PID 2996] /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8314 -prefMapSize 173895 -schedulerPrefs 00
-
25.2 ms/s 33.6 Process [PID 1528] /usr/lib/firefox/firefox --new-window
-
5.7 ms/s 32.2 Interrupt [7] sched(softirq)
-
2.1 ms/s 32.2 Process [PID 1811] /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00
-
19.7 ms/s 25.0 Process [PID 1794] /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00
-
1.9 ms/s 31.5 Process [PID 1596] /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 173895 -schedulerPrefs 0001,
-
3.1 ms/s 29.9 Process [PID 1535] /usr/lib/firefox/firefox --new-window
-
7.1 ms/s 28.2 Process [PID 1488] /usr/lib/firefox/firefox --new-window
-
1.8 ms/s 29.5 Process [PID 1762] /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00
-
8.8 ms/s 23.3 Process [PID 1121] /usr/bin/gnome-shell
-
1.2 ms/s 21.8 Process [PID 1657] /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 920 -prefMapSize 173895 -schedulerPrefs 000
-
13.3 ms/s 13.9 Process [PID 1746] /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 5814 -prefMapSize 173895 -schedulerPrefs 00
-
2.7 ms/s 11.1 Process [PID 3410] /usr/lib/gnome-terminal-server
-
3.8 ms/s 10.8 Process [PID 1057] /usr/lib/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty
-
3.1 ms/s 9.8 Process [PID 1629] /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 920 -prefMapSize 173895 -schedulerPrefs 000
-
0.9 ms/s 6.7 Interrupt [136] xhci_hcd
-
278.0 us/s 6.4 Process [PID 414] [irq/141-iwlwifi]
-
128.7 us/s 5.7 Process [PID 1] /sbin/init
-
118.5 us/s 5.2 Process [PID 10] [rcu_preempt]
-
49.0 us/s 4.7 Interrupt [0] HI_SOFTIRQ
-
459.3 us/s 3.1 Interrupt [142] i915
-
2.1 ms/s 2.3 Process [PID 3451] powertop
-
8.4 us/s 2.7 kWork intel_atomic_helper_free_state_
-
1.2 ms/s 1.8 kWork intel_atomic_commit_work
-
374.2 us/s 2.1 Interrupt [9] acpi
-
42.1 us/s 1.8 kWork intel_atomic_cleanup_work
-
3.5 ms/s 0.25 kWork delayed_fput
-
238.0 us/s 1.5 Process [PID 907] /usr/lib/upowerd
-
17.7 us/s 1.5 Timer intel_uncore_fw_release_timer
-
26.4 us/s 1.4 Process [PID 576] [i915/signal:0]
-
19.8 us/s 1.3 Timer watchdog_timer_fn
-
1.1 ms/s 0.00 Process [PID 206] [kworker/7:2]
-
2.4 ms/s 0.00 Interrupt [1] timer(softirq)
-
13.4 us/s 0.9 Process [PID 9] [ksoftirqd/0]
-
-
Exit | / Navigate |
PowerTOP 的輸出類似如上截圖,在你的機器上由於硬體不同會稍有不同。它的顯示有很多頁,你可以使用 Tab
和 Shift+Tab
在它們之間切換。
空閑狀態頁
它會顯示處理器的各種資訊。
-
PowerTOP v2.9 Overview Idle stats Frequency stats Device stats Tunables
-
-
-
Package | Core | CPU 0 CPU 4
-
| | C0 active 6.7% 7.2%
-
| | POLL 0.0% 0.1 ms 0.0% 0.1 ms
-
| | C1E 1.2% 0.2 ms 1.6% 0.3 ms
-
C2 (pc2) 7.5% | |
-
C3 (pc3) 25.2% | C3 (cc3) 0.7% | C3 0.5% 0.2 ms 0.6% 0.1 ms
-
C6 (pc6) 0.0% | C6 (cc6) 7.1% | C6 6.6% 0.5 ms 6.3% 0.5 ms
-
C7 (pc7) 0.0% | C7 (cc7) 59.8% | C7s 0.0% 0.0 ms 0.0% 0.0 ms
-
C8 (pc8) 0.0% | | C8 33.9% 1.6 ms 32.3% 1.5 ms
-
C9 (pc9) 0.0% | | C9 2.1% 3.4 ms 0.7% 2.8 ms
-
C10 (pc10) 0.0% | | C10 39.5% 4.7 ms 41.4% 4.7 ms
-
-
| Core | CPU 1 CPU 5
-
| | C0 active 8.3% 7.2%
-
| | POLL 0.0% 0.0 ms 0.0% 0.1 ms
-
| | C1E 1.3% 0.2 ms 1.4% 0.3 ms
-
| |
-
| C3 (cc3) 0.5% | C3 0.5% 0.2 ms 0.4% 0.2 ms
-
| C6 (cc6) 6.0% | C6 5.3% 0.5 ms 4.7% 0.5 ms
-
| C7 (cc7) 59.3% | C7s 0.0% 0.8 ms 0.0% 1.0 ms
-
| | C8 27.2% 1.5 ms 23.8% 1.4 ms
-
| | C9 1.6% 3.0 ms 0.5% 3.0 ms
-
| | C10 44.5% 4.7 ms 52.2% 4.6 ms
-
-
| Core | CPU 2 CPU 6
-
| | C0 active 11.2% 8.4%
-
| | POLL 0.0% 0.0 ms 0.0% 0.0 ms
-
| | C1E 1.4% 0.4 ms 1.3% 0.3 ms
-
| |
-
| C3 (cc3) 0.3% | C3 0.2% 0.1 ms 0.4% 0.2 ms
-
| C6 (cc6) 4.0% | C6 3.7% 0.5 ms 4.3% 0.5 ms
-
| C7 (cc7) 54.2% | C7s 0.0% 0.0 ms 0.0% 1.0 ms
-
| | C8 20.0% 1.5 ms 20.7% 1.4 ms
-
| | C9 1.0% 3.4 ms 0.4% 3.8 ms
-
| | C10 48.8% 4.6 ms 52.3% 5.0 ms
-
-
| Core | CPU 3 CPU 7
-
| | C0 active 8.8% 8.1%
-
| | POLL 0.0% 0.1 ms 0.0% 0.0 ms
-
| | C1E 1.2% 0.2 ms 1.2% 0.2 ms
-
| |
-
| C3 (cc3) 0.6% | C3 0.6% 0.2 ms 0.4% 0.2 ms
-
| C6 (cc6) 7.0% | C6 7.5% 0.5 ms 4.4% 0.5 ms
-
| C7 (cc7) 56.8% | C7s 0.0% 0.0 ms 0.0% 0.9 ms
-
| | C8 29.4% 1.4 ms 23.8% 1.4 ms
-
| | C9 1.1% 2.7 ms 0.7% 3.9 ms
-
| | C10 41.0% 4.0 ms 50.0% 4.8 ms
-
-
-
Exit | / Navigate |
頻率狀態頁
它會顯示 CPU 的主頻。
-
PowerTOP v2.9 Overview Idle stats Frequency stats Device stats Tunables
-
-
-
Package | Core | CPU 0 CPU 4
-
| | Average 930 MHz 1101 MHz
-
Idle | Idle | Idle
-
-
| Core | CPU 1 CPU 5
-
| | Average 1063 MHz 979 MHz
-
| Idle | Idle
-
-
| Core | CPU 2 CPU 6
-
| | Average 976 MHz 942 MHz
-
| Idle | Idle
-
-
| Core | CPU 3 CPU 7
-
| | Average 924 MHz 957 MHz
-
| Idle | Idle
裝置狀態頁
它僅針對裝置顯示其電量使用資訊。
-
PowerTOP v2.9 Overview Idle stats Frequency stats Device stats Tunables
-
-
-
The battery reports a discharge rate of 13.8 W
-
The power consumed was 280 J
-
-
Usage Device name
-
46.7% CPU misc
-
46.7% DRAM
-
46.7% CPU core
-
19.0% Display backlight
-
0.0% Audio codec hwC0D0: Realtek
-
0.0% USB device: Lenovo EasyCamera (160709000341)
-
100.0% PCI Device: Intel Corporation HD Graphics 530
-
100.0% Radio device: iwlwifi
-
100.0% PCI Device: O2 Micro, Inc. SD/MMC Card Reader Controller
-
100.0% PCI Device: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
-
100.0% USB device: Lenovo Wireless Optical Mouse N100
-
100.0% PCI Device: Intel Corporation Wireless 8260
-
100.0% PCI Device: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode]
-
100.0% Radio device: btusb
-
100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4
-
100.0% USB device: xHCI Host Controller
-
100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller
-
100.0% PCI Device: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
-
100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3
-
100.0% PCI Device: Samsung Electronics Co Ltd NVMe SSD Controller SM951/PM951
-
100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #2
-
100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9
-
100.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family SMBus
-
26.1 pkts/s Network interface: wlp8s0 (iwlwifi)
-
0.0% USB device: usb-device-8087-0a2b
-
0.0% runtime-reg-dummy
-
0.0% Audio codec hwC0D2: Intel
-
0.0 pkts/s Network interface: enp9s0 (r8168)
-
0.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller
-
0.0% PCI Device: Intel Corporation HM170 Chipset LPC/eSPI Controller
-
0.0% PCI Device: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16)
-
0.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1
-
0.0% PCI Device: NVIDIA Corporation GM107M [GeForce GTX 960M]
-
0.0% I2C Adapter (i2c-8): nvkm-0000:01:00.0-bus-0005
-
0.0% runtime-PNP0C14:00
-
0.0% PCI Device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller
-
0.0% runtime-PNP0C0C:00
-
0.0% USB device: xHCI Host Controller
-
0.0% runtime-ACPI000C:00
-
0.0% runtime-regulatory.0
-
0.0% runtime-PNP0C14:01
-
0.0% runtime-vesa-framebuffer.0
-
0.0% runtime-coretemp.0
-
0.0% runtime-alarmtimer
-
-
Exit | / Navigate |
可調整狀態頁
這個頁面是個重要區域,可以為你的筆記本電池最佳化提供建議。
-
PowerTOP v2.9 Overview Idle stats Frequency stats Device stats Tunables
-
-
-
>> Bad Enable SATA link power management for host2
-
Bad Enable SATA link power management for host3
-
Bad Enable SATA link power management for host0
-
Bad Enable SATA link power management for host1
-
Bad VM writeback timeout
-
Bad Autosuspend for USB device Lenovo Wireless Optical Mouse N100 [1-2]
-
Good Bluetooth device interface status
-
Good Enable Audio codec power management
-
Good NMI watchdog should be turned off
-
Good Runtime PM for I2C Adapter i2c-7 (nvkm-0000:01:00.0-bus-0002)
-
Good Autosuspend for unknown USB device 1-11 (8087:0a2b)
-
Good Runtime PM for I2C Adapter i2c-3 (i915 gmbus dpd)
-
Good Autosuspend for USB device Lenovo EasyCamera [160709000341]
-
Good Runtime PM for I2C Adapter i2c-1 (i915 gmbus dpc)
-
Good Runtime PM for I2C Adapter i2c-12 (nvkm-0000:01:00.0-bus-0009)
-
Good Autosuspend for USB device xHCI Host Controller [usb1]
-
Good Runtime PM for I2C Adapter i2c-13 (nvkm-0000:01:00.0-aux-000a)
-
Good Runtime PM for I2C Adapter i2c-2 (i915 gmbus dpb)
-
Good Runtime PM for I2C Adapter i2c-8 (nvkm-0000:01:00.0-bus-0005)
-
Good Runtime PM for I2C Adapter i2c-15 (nvkm-0000:01:00.0-aux-000c)
-
Good Runtime PM for I2C Adapter i2c-16 (nvkm-0000:01:00.0-aux-000d)
-
Good Runtime PM for I2C Adapter i2c-5 (nvkm-0000:01:00.0-bus-0000)
-
Good Runtime PM for I2C Adapter i2c-0 (SMBus I801 adapter at 6040)
-
Good Runtime PM for I2C Adapter i2c-11 (nvkm-0000:01:00.0-bus-0008)
-
Good Runtime PM for I2C Adapter i2c-14 (nvkm-0000:01:00.0-aux-000b)
-
Good Autosuspend for USB device xHCI Host Controller [usb2]
-
Good Runtime PM for I2C Adapter i2c-9 (nvkm-0000:01:00.0-bus-0006)
-
Good Runtime PM for I2C Adapter i2c-10 (nvkm-0000:01:00.0-bus-0007)
-
Good Runtime PM for I2C Adapter i2c-6 (nvkm-0000:01:00.0-bus-0001)
-
Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller
-
Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller
-
Good Runtime PM for PCI Device Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
-
Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9
-
Good Runtime PM for PCI Device Intel Corporation HD Graphics 530
-
Good Runtime PM for PCI Device Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
-
Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3
-
Good Runtime PM for PCI Device O2 Micro, Inc. SD/MMC Card Reader Controller
-
Good Runtime PM for PCI Device Intel Corporation HM170 Chipset LPC/eSPI Controller
-
Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1
-
Good Runtime PM for PCI Device Samsung Electronics Co Ltd NVMe SSD Controller SM951/PM951
-
Good Runtime PM for PCI Device Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode]
-
Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller
-
Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #2
-
Good Runtime PM for PCI Device Intel Corporation Wireless 8260
-
Good Runtime PM for PCI Device Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16)
-
Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4
-
Good Runtime PM for PCI Device Intel Corporation 100 Series/C230 Series Chipset Family SMBus
-
Good Runtime PM for PCI Device NVIDIA Corporation GM107M [GeForce GTX 960M]
-
-
Exit | Toggle tunable | Window refresh
如何生成 PowerTop 的 HTML 報告
執行如下命令生成 PowerTop 的 HTML 報告。
-
$ sudo powertop --html=powertop.html
-
modprobe cpufreq_stats failedLoaded 100 prior measurements
-
Cannot load from file /var/cache/powertop/saved_parameters.powertop
-
File will be loaded after taking minimum number of measurement(s) with battery only
-
RAPL device for cpu 0
-
RAPL Using PowerCap Sysfs : Domain Mask f
-
RAPL device for cpu 0
-
RAPL Using PowerCap Sysfs : Domain Mask f
-
Devfreq not enabled
-
glob returned GLOB_ABORTED
-
Cannot load from file /var/cache/powertop/saved_parameters.powertop
-
File will be loaded after taking minimum number of measurement(s) with battery only
-
Preparing to take measurements
-
To show power estimates do 182 measurement(s) connected to battery only
-
Taking 1 measurement(s) for a duration of 20 second(s) each.
-
PowerTOP outputing using base filename powertop.html
開啟 file:///home/daygeek/powertop.html
檔案以訪問生成的 PowerTOP 的 HTML 報告。
自動調整樣式
這個功能可以將所有可調整選項從 BAD 設定為 GOOD,這可以提升 Linux 中的筆記本電池壽命。
-
$ sudo powertop --auto-tune
-
modprobe cpufreq_stats failedLoaded 210 prior measurements
-
Cannot load from file /var/cache/powertop/saved_parameters.powertop
-
File will be loaded after taking minimum number of measurement(s) with battery only
-
RAPL device for cpu 0
-
RAPL Using PowerCap Sysfs : Domain Mask f
-
RAPL device for cpu 0
-
RAPL Using PowerCap Sysfs : Domain Mask f
-
Devfreq not enabled
-
glob returned GLOB_ABORTED
-
Cannot load from file /var/cache/powertop/saved_parameters.powertop
-
File will be loaded after taking minimum number of measurement(s) with battery only
-
To show power estimates do 72 measurement(s) connected to battery only
-
Leaving PowerTOP
via: https://www.2daygeek.com/powertop-monitors-laptop-battery-usage-linux/
作者:Vinoth Kumar[9] 選題:lujun9972 譯者:wxy 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出