位置:海鸟网 > IT > linux/Unix >

企业IT节能之用好Linux高级电源管理

您的IT系统电费支出是不是越来越大?您是否在为如何降低功耗、节约能源煞费苦心?我们将从芯片、组件、系统、软件乃至数据中心等多个层面、多个角度出发,陆续整理出一系列实用的IT节能妙招,相信总有一招适合你!

本期节能妙招――用好Linux高级电源管理

如今,许多服务器都采用了Linux操作系统,相对于Windows平台熟悉的电源管理而言,Linux下就稍显复杂,但一旦掌握了这个技巧,你就会发现其强大而灵活的省电功能,下面我们就来介绍一下在Linux操作系统下的电源管理的实现。

在x86机器中,存在两种电源管理方法:APM(AdvancedPowerManagement,高级电源管理)和ACPI(AdvancedConfigurationandPowerInterface,高级配置和电源接口)。APM是老标准,而ACPI则提供了管理电脑和设备更为灵活的接口。Linux支持这两种协议,不过有时还需要手工配置。另外,两个标准不能同时运行。缺省情况下Linux运行ACPI。

APM可以让你把机器处于Suspend(悬挂)或Standby(备用)状态,以及检查电池容量。而ACPI还可以让你把外设(如:显示器、显卡、PCI总线)单独断电,在节省电能方面有更多的控制。为了让电源管理功能生效,需要在BIOS和Linux核心里要打开它,并且在Linux里加载必需的应用软件。

检查系统是否支持电源管理

在较新的核心里,都包含了对ACPI和APM的支持。一般地,ACPI是激活的。使用dmesg来检验一下:

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

Kernelcommandline:vga=274quietconsole=ttyS3,9600acpi=no-idleoot=/dev/hda3

ACPI:CoreSubsystemversion[20010208]

ACPI:Subsystemenabled

ACPI:Systemfirmwaresupports:C2

ACPI:plvl2lat=99plvl3lat=1001

ACPI:C2enter=1417C2exit=354

ACPI:C3enter=-1C3exit=-1

ACPI:NotusingACPIidle

ACPI:Systemfirmwaresupports:S0S1S4S5

另外,支持ACPI的系统也将增加/proc/sys/acpi的目录。如果它存在,就表示核心已经加载ACPI驱动。


具体应用实例

建议用最新的核心(如:2.4.5以上)。因为旧的核心支持的特色较少,而2.2.x的核心就是支持ACPI,也只有极少的功能。

  1、AdvancedPowerManagement

APM应用包含:apmd(APM的后台服务程序)和其他的应用程序(如APM)。建议到rpmfind.net找最新的适合你使用的版本,安装和运行OK后,我们可以试验APM命令了。

APM最简单的使用就是显示机器里的电池容量。

APM

ACon-line,nosystembattery

如果不支持APM,就显示"NoAPMsupportin核心"。这时,先检查是否有/proc/apm。如果没有,检查是否运行安装APM后的核心。如果你把APM作为了一个模块,检查是否加载这个模块。apm还能用-S/-s分别进入备用(Standby)和悬挂(Suspend)状态。

上图是KDE系统界面,它采用APM来检查电池容量,还可以管理其他硬件的节能模式(图2),并在任务栏显示。进一步的了解可到。

  2、ACPI

Linux对ACPI的支持较好,而且相关的文档也比APM的要多。

ACPI的权威网站是,其中在下载栏中包括了两个内容:acpid和pmtools,它们可以更好地优化和管理ACPI。

Pmtools里面有个命令是Pmtest,它让你检测设备。一般地,它显示你系统里的ACPI设备,并能让你对它们进行"悬挂"或"备用"处理。它必须用root来运行。

/pmtools/pmtest

VGA(D0)

keyboard(D0)

PCI0×0(D0)

system0×0(D0)

看来,VGA显示器、键盘、PCI总线和系统都被识别为ACPI设备。它们的状态都是D0,就是活动状态。我们可以把状态设为D1/D2(耗电最小化)或D3(完全关闭)。比如:

/pmtools/pmtest-d1VGA

现在显示器应该变黑。这并不会让显卡停止产生视频信号(显示器也表示有输入信号),只是把信号全部转变为黑色。/pmtools/pmtest-d0VGA可以恢复。

上面仅列举几例,大家可以举一反三,管理好您的系统,充分发挥出高级电压管理功能,从而达到节能省电的目的。