开始使用T61后就安装了Ubuntu。当时就看到说Ubuntu电源管理有缺陷,会损伤硬盘,没有太在意,只是查询了一下当时的load/unload cycle count的值,大约3000+的样子。使用了半个月的今天,再次查询此值着实让人吃惊,已经到了惊人的近20000,按照这个速度,硬盘设计的600000次估计也就能维持10个月。找来解决方案如下,不知是否有效,试一段时间再说吧。毕竟硬盘热或者费电比起数据丢失都是太微不足道了。
安装 laptop-mode,手动编辑 /etc/laptop-mode/laptop-mode.conf,大概 216 行左右,按如下修改:
#
# Should laptop mode tools control the hard drive power management settings?
#
CONTROL_HD_POWERMGMT=1
#
# Power management for HD (hdparm -B values)
#
BATT_HD_POWERMGMT=192
LM_AC_HD_POWERMGMT=254
NOLM_AC_HD_POWERMGMT=254
第 一项是为了让对硬盘参数的设置纳入 laptop-mode 管理(默认不开)。后面三个就是指定各种模式下的硬盘参数了。默认情况下是
1/255/255。1 这个值太激进(估计 3 分钟 1 次就是它干的),我改成了
192(电池模式下毕竟还是要省电的,虽然这个值在不同品牌的硬盘可能表现差异很大,但是根据我搜索的结果,设置成 192
的时候硬盘已经很难有机会自行 unload 了)。后两个默认值 255 是可以不改的,但是 255 是直接关闭
APM(高级电源管理),据说某些硬盘可能会忽略 255 这个极端值,所以改成 254(我的出发点其实还是不想舍弃 APM)。
然后是修改 /etc/default/acpi-support 这个文件。文件末尾两个参数,按如下设置:
# Switch to laptop-mode on battery power - off by default as it causes odd
# hangs on some machines
ENABLE_LAPTOP_MODE=true
# Spindown time on battery
SPINDOWN_TIME=60
第一项是开启 laptop-mode,第二项似乎是控制用来控制硬盘空闲多长时间自动断电的,可根据自己喜好修改(默认值是 12)。
经几天观察,基本上这个 Load Cycle Count 只在关机的时候才会增加了。
附:监测 Load Cycle Count 的方法
sudo smartctl -a /dev/sda
设备可能是 /dev/hda(IDE 硬盘)或 /dev/sdb(第二块硬盘)等等。如果觉得输出太多,可以加上 grep 193。
sudo smartctl -a /dev/sda | grep 193
补充:
2008年07月24日
试运行了几天,至少从开机到关机,Ubuntu中的这个值不再变化。不过好像是硬盘比以前热一些了,或许是心里作用。但是在Vista中这个数据还在增加,具体值没有算过,最近项目是Linux里的,不怎么用Win系统,等常用时候在关注吧。