Powertop
Powertop 是一個 Intel 提供的在用户空間、內核和硬件層面的節電工具。它可以監視進程,並顯示哪些進程利用 CPU 並從空閒狀態喚醒它,從而識別具有特殊高功率需求的應用程式。
安裝[編輯 | 編輯原始碼]
安裝 powertop包 或最新開發版本 powertop-gitAUR。
使用[編輯 | 編輯原始碼]
Powertop 的交互模式可以通過以下方式調用:
# powertop
在交互模式下,您可以在 Tunables 和 WakeUp 選項卡中修改建議的設置,並可以在 Overview 選項卡中監視它們對功耗的影響。但是,任何設置都不會保留,重啟後會丟失。
生成報吿[編輯 | 編輯原始碼]
Powertop 可以生成 CSV 或 HTML 格式的報吿。HTML 導出的是一個交互式文檔,顯示推薦的設置。在生成報吿之前,請確保重啟以恢復為系統默認設置!
您也可以通過遵循以下步驟來提取推薦的參數:
- 使用 Powertop 生成參數報吿:
# powertop --html=powerreport.html
- 在您喜歡的網頁瀏覽器中打開報吿。報吿的 Tuning 標籤現在顯示了工具建議節省電量應用的實際參數。提取命令:
$ awk -F '</?td ?>' '/tune/ { print $4 }' powerreport.html
較新版本的 Powertop 包括了 --auto-tune-dump
選項,它將輸出 Powertop 的 --auto-tune
將運行的命令。如果您不想運行 Powertop 的所有建議,這在腳本中非常有用。
保存設置[編輯 | 編輯原始碼]
有兩種方法保存其設置,使其在重啟後依然應用先前的設置。
- 推薦:使用 Kernel modules、 Udev 和sysctl來使其在系統啟動時應用設置。相關細節請看Power management。您也可以使用 powertop-to-tmpfileAUR 輔助工具,通過 systemd-tmpfiles 應用設置。
- 使用 Powertop 的
--auto-tune
參數,該參數會使得所有的可調整項變成 GOOD,為使其在系統啟動時就生效,可使用 systemd 服務使其開啟自啟動。添加該文件並啟用/啟動該服務:
/etc/systemd/system/powertop.service
[Unit] Description=Powertop tunings [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/powertop --auto-tune [Install] WantedBy=multi-user.target
您也可以將這一行添加到 [Service]
部分,以防止在啟動時已經連接到您的系統的鼠標斷開連接。
ExecStartPost=/bin/sh -c 'for f in $(grep -l "Mouse" /sys/bus/usb/devices/*/product | sed "s/product/power\\/control/"); do echo on >| "$f"; done'
疑難解決[編輯 | 編輯原始碼]
Error: Cannot load from file[編輯 | 編輯原始碼]
如果在啟動 powertop 時遇到如下錯誤,可能是因為 powertop 沒有收集到足夠的數據,請在電池供電的情況下多運行一段時間,收集更多的數據。
Loaded 39 prior measurements Cannot load from file /var/cache/powertop/saved_parameters.powertop Cannot load from file /var/cache/powertop/saved_parameters.powertop
校準測量數據[編輯 | 編輯原始碼]
如果測量結果不準確,可能需要先校準 powertop: 運行 powertop 時增加 --calibrate
參數.
注意: 校準時會開關背光、wifi 等功能,在校準時不要觸碰機器。
# powertop --calibrate