Linux 省電十招
1. Linux Kernel 2.6.21 開始支援 Tickless(此前的內核默認設置為 1000Hz timer tick),於是系統空閒時不再無故騷擾 CPU,可以節省大量能耗。Fedora 7+ 以及目前的 Ubuntu Linux 發行版都含有 Tickless 特性,而 RHEL 則要到版本 6 才會隨新版本內核正式支持該特性(預計 2010年上市)。檢查你的 Linux 系統是否支援 Tickless: watch –interval=1 cat /proc/interrupts ,若 timer 中斷值並非以 1000 為步進單位增加,則說明該內核支持 Tickless。
2. 編譯內核(make menuconfig):
- 啟用 Tickless: Processor type and features -> [*] Tickless System (Dynamic Ticks)
- 啟 用 CONFIG_USB_SUSPEND: Device Drivers -> USB support -> [*] USB selective suspend/resume and wakeup (自動禁用 UHCI USB,可以節省約 1 watt
3. PowerTOP 可以找出電腦閒置時哪些進程耗電最多。(Kernel Hacking -> [*] Collect kernel timers statistics) 詳見: http://www.lesswatts.org/projects/powertop/
4. 啟用 power aware CPU scheduler(Scheduler Power Saving Mode): echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
5. RHEL 5.3 支援 Intel Core i7 (Nehalem) 的電源管理功能。
6. 啟用 irqbalance 服務,既可以提升性能,又可以降低能耗。irqbalance 用於優化中斷分配,它會自動收集系統資料以分析使用模式,並依據系統負載狀況將工作狀態置於 Performance mode 或 Power-save mode。處於 Performance mode 時,irqbalance 會將中斷盡可能均勻地分發給各個 CPU core,以充分利用 CPU 多核,提升性能。處於 Power-save mode 時,irqbalance 會將中斷集中分配給第一個 CPU,以保證其他空閒 CPU 的睡眠時間,降低能耗。(詳見:http://www.irqbalance.org/documentation.php )
7. 禁用 pcscd,該進程會阻礙 USB 子系統進入 Power-save mode。
8. 將 VM dirty writeback time 延長至 15 秒: echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
9. 啟用 noatime 檔系統選項: mount -o remount,noatime / (noatime 禁止更新 atime,可以節省大量 I/O,但為了避免 atime 相關應用程式出現問題,建議啟用 relatime 代之: mount -o remount,relatime / ,relatime 自 Kernel 2.6.29 起為默認設置。)
10. 禁止 hal 輪詢你的 cdrom: hal-disable-polling –device /dev/cdrom
* 關於 Linux 節能的更多資訊,請看: http://www.lesswatts.org