HACK#51 硬盘的省电

本节介绍SATA的LPM和hdparm命令的电力控制。

从内核2.6.24开始支持SATA的LPM(Link Power Management)和AHCI SATA控制器ALPM(Aggressive Link Power management)。

本节将介绍LPM、ALPM和使用hdparm命令进行省电设置。

LPM

SATA的LPM(Link Power Management,链路电源管理)有DIPM(Device Initiated Link Power Management)和HIPM(Host Initiated Power Management)两种控制方法。DIPM是由设备控制链路状态。从操作系统设置一次LPM,然后设备就会自动迁移到省电状态。

HIPM通过AHCI SATA主控制器的ALPM(Aggressive Link Power Management)控制链路状态。因此HIPM必须SATA能够支持AHCI,并在BIOS中设置为AHCI模式。

LPM的链路状态有ACTIVE、PARTIAL、SLUMBER这三个状态。ACTIVE为运行状态,不进行电能控制。PARTIAL和SLUMBER为省电状态,SLUMBER比PARTIAL更省电。

在AHCI规格中,从PARTIAL恢复到ACTIVE需要在10微秒以内完成,从SLUMBER恢复到ACTIVE需要在10毫秒以内完成。

与CPU等不同的是,省电状态不会进行ACTIVE→PARTIAL→SLUMBER的迁移。只会如图6-16所示的从ACTIVE进行迁移。

LPM的设置是经由sysfs进行的。通过下面的设置使其能够迁移到SLUMBER状态。设置的字符串如表6-33所示。


echo min_power>/sys/class/scsi_host/host0/link_power_management_policy


HACK#51 硬盘的省电 - 图1


图 6-16 SATA_LPM

HACK#51 硬盘的省电 - 图2

除LPM以外,还可以使用hdparm命令进行关于硬盘(SATA/PATA/SAS/IDE)的设置。设置中有关于省电的和关于I/O性能的内容。虽然省电与性能是矛盾的关系,但是对于服务器或台式机等有一些有效的设置。后半部分将介绍关于性能的设置。