Linux作業系統的高階電源管理(轉)

post0發表於2007-08-09
Linux作業系統的高階電源管理(轉)[@more@]

  在Windows下我們已經對系統的電源管理非常熟悉了,我們可以透過主機板的高階電源管理模組實現STR、STD等功能。對於膝上型電腦使用者使用高階電源管理方式,讓膝上型電腦處於休眠狀態,節省電池就更加重要。上面說的這些功能在Windows平臺下實現對於我們來說,可能都已經不再是困難的事情。但如果換成Linux恐怕就很少有人知道了,今天我們就來介紹一下在Linux作業系統下的電源管理的實現。由於許多伺服器都採用了Linux,電源管理的重要性也就變得非常明顯了。

  在x86機器中,存在兩種電源管理方法:APM (Advanced Power Management,高階電源管理)和ACPI (Advanced Configuration and Power Interface,高階配置和電源介面)。APM是老標準,而ACPI則提供了管理電腦和裝置更為靈活的介面。Linux支援這兩種協議,不過有時還需要手工配置。另外,兩個標準不能同時執行。預設情況下Linux執行ACPI。

  APM可以讓你把機器處於Suspend(懸掛)或Standby(備用)狀態,以及檢查電池容量。而ACPI還可以讓你把外設(如:顯示器、顯示卡、 PCI匯流排)單獨斷電,在節省電能方面有更多的控制。為了讓電源管理功能生效,需要在BIOS和Linux核心裡要開啟它,並且在linux里載入必需的應用軟體。

  檢查系統是否支援電源管理

  在較新的核心裡,都包含了對ACPI和APM的支援。一般地,ACPI是啟用的。使用dmesg來檢驗一下:

  dmesg |egrep -i '(apm|acpi)'

  Kernel command line: vga=274 quiet console=ttyS3,9600acpi=no-idleoot=/dev/hda3

  ACPI: Core Subsystem version [20010208]

  ACPI: Subsystem enabled

  ACPI: System firmware supports: C2

  ACPI: plvl2lat=99 plvl3lat=1001

  ACPI: C2 enter=1417 C2 exit=354

  ACPI: C3 enter=-1 C3 exit=-1

  ACPI: Not using ACPI idle

  ACPI: System firmware supports: S0 S1 S4 S5

  另外,支援ACPI的系統也將增加/proc/ sys/acpi的目錄。如果它存在,就表示核心已經載入ACPI驅動。

  具體的應用例項

  建議用最新的核心(如:2.4.5)。因為舊的核心支援的特色較少,而2.2.x的核心就是支援ACPI,也只有極少的功能。

  1、Advanced Power Management

  APM應用包含:apmd(APM的後臺服務程式)和其他的應用程式(如APM)。建議到rpmfind.net找最新的適合你使用的版本,安裝和執行OK後,我們可以試驗APM命令了。

  APM最簡單的使用就是顯示機器裡的電池容量。

  APM

  AC on-line, no system battery

  如果不支援APM,就顯示“No APM support in核心”。這時,先檢查是否有/proc/apm。如果沒有,檢查是否執行安裝APM後的核心。如果你把APM作為了一個模組,檢查是否載入這個模組。 apm還能用-S/-s分別進入備用(Standby)和懸掛(Suspend)狀態。

圖1

  圖1是KDE系統介面,它採用APM來檢查電池容量,還可以管理其他硬體的節能模式(圖2),並在工作列顯示。進一步的瞭解可到。

  2、ACPI

  linux對ACPI的支援較好,而且相關的文件也比APM的要多。

  ACPI的權威網站是其中在下載欄中包括了兩個內容:acpid和pmtools,它們可以更好地最佳化和管理ACPI。

圖2

  Pmtools裡面有個命令是Pmtest,它讓你檢測裝置。一般地,它顯示你係統裡的ACPI裝置,並能讓你對它們進行“懸掛”或“備用”處理。它必須用root來執行。

  /pmtools/pmtest

  VGA (D0)

  keyboard (D0)

  PCI 0x0 (D0)

  system 0x0 (D0)

  看來,VGA顯示器、鍵盤、PCI匯流排和系統都被識別為ACPI裝置。它們的狀態都是D0,就是活動狀態。我們可以把狀態設為D1/D2 (耗電最小化)或D3 (完全關閉)。比如:

  /pmtools/pmtest -d1 VGA

  現在顯示器應該變黑。這並不會讓顯示卡停止產生影片訊號(顯示器也表示有輸入訊號),只是把訊號全部轉變為黑色。/pmtools/pmtest -d0 VGA可以恢復。

  上面我們僅僅是舉了幾個例子,大家可以舉一反三,管理好您的系統,充分發揮出高階電壓管理功能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-939160/,如需轉載,請註明出處,否則將追究法律責任。

相關文章