快速业务通道

Ubuntu中Load/Unload Cycle Count问题及解决方案

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-09
候修复一些待机/休眠方面的Bug或者实现某些特定的功能.pm.utils很有可能会在8.10中就取代acpi,从这个意义上来讲这个方案也会有更长的效用.具体步骤如下:

1) 做一些配置,主要就是设置省电模式开启和关闭的模式下hdparm的参数,具体的内容脚本中有注释.

你可能需要将“/dev/sda"修改成你的硬件设备,比如你有两个硬盘,可以修改为"/dev/sda /dev/sdb".

$ sudo vi /etc/pm/config.d/disk

# Configure disk power management settings to ensure both
# long disk life and good power management.
#
# Space delimited list of disk devices this affects.
#
DEVICES_DISK_PM_NAMES="/dev/sda"
#
#
# Power management modes
#
# Powersave mode off
# Set APM as 192
# Set spin-down for 30 minutes
#
DEVICES_DISK_PM_POWERSAVE_OFF="hdparm -q -B 192 -q -S 241 -q -M 128"
#
# Powersave mode on
# Enable APM to conservative 192 and set spin-down for 21 minutes
#
DEVICES_DISK_PM_POWERSAVE_ON="hdparm -q -B 192 -q -S 252 -q -M 128"

2) 在power.d中加入Hook脚本,作用是在使用电池和AC电源的时候可以自动切换省电模式.

$ cd /etc/pm/power.d
$ sudo vi disk


#!/bin/bash

. /usr/lib/pm-utils/functions

. /etc/pm/config.d/disk



if test -z "${DEVICES_DISK_PM_NAMES}"; then

    exit 1

fi



case "$1" in

    true)

        echo "**enabled pm for harddisk"

        for DISK_NAME in `echo ${DEVICES_DISK_PM_NAMES}`; do

            ${DEVICES_DISK_PM_POWERSAVE_ON} ${DISK_NAME}

        done ;;

    false)

        echo "**disabled pm for harddisk"

        for DISK_NAME in `echo ${DEVICES_DISK_PM_NAMES}`; do

            ${DEVICES_DISK_PM_POWERSAVE_OFF} ${DISK_NAME}

        done ;;

esac



$ sudo chmod x disk

3) 在sleep.d中加入脚本,目的是在休眠/待机之后唤醒的时候重新设定hdparm的参数:

$ cd /etc/pm/sleep.d/
$ sudo vi disk


#!/bin/bash

. /usr/lib/pm-utils/functions

. /etc/pm/config.d/disk



if test -z ${DEVICES_DISK_PM_NAMES}; then

    exit 1

fi



case "$1" in

    thaw|resume)

        /usr/bin/on_ac_power;

        if [ "$?" -eq 0 ]; then

            echo "**disabled PM for harddisk"

            for DISK_NAME in `echo ${DEVICES_DISK_PM_NAMES}`; do

                ${DEVICES_DISK_PM_POWERSAVE_OFF} ${DISK_NAME}

             done

       elif [ "$?" -eq 1 ]; then

            echo "**enabled PM for harddisk"

            for DISK_NAME in `echo ${DEVICES_DISK_PM_NAMES}`; do

                ${DEVICES_DISK_PM_POWERSAVE_ON} ${DISK_NAME}

            done

       fi

       ;;

esac



$ sudo chmod x disk

***注意一定要为disk脚本添加执行权限.否则pm.tuils不会自动执行这段脚本

4) 如果你没有启用laptop mode (默认是不启用的),可以跳过这部分了.

Ubuntu中acpi和pm.utils是共存的,如果你启用了laptop mode,那么在改变电源状态(指电池->AC电源或者反之)的时候,acpi会在启用/停用laptop mode的同时设置hdparm参数,会覆盖掉pm-utils所做的设置.

如果你启用了laptop mode的话,需要做如下修改:

1'' $ sudo vi /etc/default/acpi-support

SPINDOWN_TIME=12

修改为

SPINDOWN_TIME=

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号