ubuntu对于笔记本硬盘的损耗

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
FadeAsUnique
帖子: 24
注册时间: 2007-12-03 10:24
来自: 长沙

ubuntu对于笔记本硬盘的损耗

#1

帖子 FadeAsUnique » 2007-12-06 15:16

先引用一段报告:
Ubuntu系统的ACPI电源管理机制存在缺陷,会大幅减少笔记本硬盘的寿命。
如果安装了Ubuntu的笔记本用户转入电池供电模式,则“/etc/acpi/power.sh”中的默认配置会导致极其频繁的载入循环,报告称100 小时即可达到7000多次,而资料显示大多数笔记本硬盘最多只能承受60万次这种循环。换算下来,这相当于一块全新的笔记本硬盘只能连续实用不到1年。

弱弱地问句,这是真是假?是不是笔记本不转电池供电就OK?7.0版本有这个问题否?
i am not ,but i will.
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

Re: ubuntu对于笔记本硬盘的损耗

#2

帖子 hubert_star » 2007-12-06 15:24

FadeAsUnique 写了:先引用一段报告:
Ubuntu系统的ACPI电源管理机制存在缺陷,会大幅减少笔记本硬盘的寿命。
如果安装了Ubuntu的笔记本用户转入电池供电模式,则“/etc/acpi/power.sh”中的默认配置会导致极其频繁的载入循环,报告称100 小时即可达到7000多次,而资料显示大多数笔记本硬盘最多只能承受60万次这种循环。换算下来,这相当于一块全新的笔记本硬盘只能连续实用不到1年。

弱弱地问句,这是真是假?是不是笔记本不转电池供电就OK?7.0版本有这个问题否?
别太敏感了,我用vista的时候损耗比ubuntu还多呢,没事的。
xplayer
帖子: 43
注册时间: 2007-06-13 19:47

Re: ubuntu对于笔记本硬盘的损耗

#3

帖子 xplayer » 2007-12-06 21:19

hubert_star 写了:
FadeAsUnique 写了:先引用一段报告:
Ubuntu系统的ACPI电源管理机制存在缺陷,会大幅减少笔记本硬盘的寿命。
如果安装了Ubuntu的笔记本用户转入电池供电模式,则“/etc/acpi/power.sh”中的默认配置会导致极其频繁的载入循环,报告称100 小时即可达到7000多次,而资料显示大多数笔记本硬盘最多只能承受60万次这种循环。换算下来,这相当于一块全新的笔记本硬盘只能连续实用不到1年。

弱弱地问句,这是真是假?是不是笔记本不转电池供电就OK?7.0版本有这个问题否?
别太敏感了,我用vista的时候损耗比ubuntu还多呢,没事的。
不是太敏感,我的日立硬盘在实验室里的标准条件下可以承受60万次(日立官方的datasheet提供),但是网上有人10万次出现微量的数据丢失,20万次已经不能准确记录数据了。硬盘有加上面的数据无价啊。
头像
marsteel
帖子: 555
注册时间: 2005-11-28 12:09
联系:

Re: ubuntu对于笔记本硬盘的损耗

#4

帖子 marsteel » 2007-12-06 21:32

FadeAsUnique 写了:先引用一段报告:
Ubuntu系统的ACPI电源管理机制存在缺陷,会大幅减少笔记本硬盘的寿命。
如果安装了Ubuntu的笔记本用户转入电池供电模式,则“/etc/acpi/power.sh”中的默认配置会导致极其频繁的载入循环,报告称100 小时即可达到7000多次,而资料显示大多数笔记本硬盘最多只能承受60万次这种循环。换算下来,这相当于一块全新的笔记本硬盘只能连续实用不到1年。

弱弱地问句,这是真是假?是不是笔记本不转电池供电就OK?7.0版本有这个问题否?
假的
xplayer
帖子: 43
注册时间: 2007-06-13 19:47

Re: ubuntu对于笔记本硬盘的损耗

#5

帖子 xplayer » 2007-12-06 22:18

FadeAsUnique 写了:
弱弱地问句,这是真是假?是不是笔记本不转电池供电就OK?7.0版本有这个问题否?
这个问题,关系到硬盘本身的固件,BIOS和操作系统的电源管理子系统。(引用自http://ubuntudemon.wordpress.com/2007/10/30/ubuntu-is-not-causing-aggressive-power-management/)

先说说我自己的硬盘吧。我的xp在用交流电供电时候比在ubuntu中用电池供电Load cycle count这个值增长要快很多,特别是硬盘空闲的时候,6分钟增加了3。才用了一年,load cycle count就有53000了,寿命就到1/4了。不过还好有保修。过些天让他们给我换个硬盘,呵呵。

我的是日立硬盘,根据日立的白皮书《Ramp Load/Unload Technology》(http://www.hitachigst.com/tech/techlib. ... _FINAL.pdf)的说明,硬盘的Load/Unload技术对硬盘是有利的。所谓Load/Unload技术就是把磁头停到一个远离盘片的区域,这时可以节省电力并且避免震动对硬盘的影响。通过停止伺服电机的工作,可以节省电力;而震动可能会使磁头擦到盘片上造成硬坏道。Load/Unload技术也用在其他品牌的硬盘上。

虽然这个技术对硬盘有利,但是过多的Load/Unload会造成磁头伺服机构的磨损,导致定位精度下降,最终导致数据的读写失败(因为磁头不能准确的定位到磁道正上方),硬盘无法再存取数据。

load cycle count值增长过快的原因是固件,BIOS或者操作系统电源管理把空闲的时间阈值设置过小造成的,硬盘在一定的空闲时间内没有操作就转入某种空闲模式,空闲模式的特点就是磁头的Load/Unload动作。有可能是这个“一定的空闲时间”设置太小。

至于如何解决,我也不知道,你应该能看出来我关注这个问题很久了。只是我发现一个小秘密,在xp下把hdtune打开常驻内存不管如何空闲load cycle count都不增加了(只是开机关机增加一个,因为开关机硬盘也执行一样的动作,这是正常的)。我有空问问它的作者看是怎么回事。
wiaa
帖子: 15
注册时间: 2007-12-07 20:57

Re: ubuntu对于笔记本硬盘的损耗

#6

帖子 wiaa » 2007-12-07 21:17

[quote="xplayer"][quote="FadeAsUnique"]
先说说我自己的硬盘吧。我的xp在用交流电供电时候比在ubuntu中用电池供电Load cycle count这个值增长要快很多,特别是硬盘空闲的时候,6分钟增加了3。才用了一年,load cycle count就有53000了,寿命就到1/4了。不过还好有保修。过些天让他们给我换个硬盘,呵呵。 [quote]
听起来很恐怖
FadeAsUnique
帖子: 24
注册时间: 2007-12-03 10:24
来自: 长沙

#7

帖子 FadeAsUnique » 2007-12-10 10:17

转载:(我用了以后确实没有增加了,19770。。。。)


这个问题主要出在笔记本上,此Bug造成的后果为令硬盘的Load/Unload Cycle次数疯狂增长,我的机器就不幸中彩,每分钟就增加好几次,网上称一般硬盘的设计是能够承受600000次。最让我受刺激是我一个朋友跟我差不多时间买的硬盘,他的这个数值是0,而我的是11060……

先来验证下这个问题……,需要安装smartmontools包(sudo apt-get install smartmontools)。
然后开启S.M.A.R.T.监视,运行sudo smartctl -s on $HDD($HDD在我机器上是/dev/sda),然后运行sudo smartctl -a $HDD | grep Load_Cycle_Count。
输出结果如下:
225 Load_Cycle_Count 0x0032 099 099 000 Old_age Always - 11060
我的是11060,刷新几次,如果你的数值增长很快,那很幸运,你中彩了。

解决办法,网上有两个:
方法1、创建一个名为"99-hdd-spin-fix.sh"的文件(文件名保留99-和.sh,中间可以随便写),写如下两行字:
#!/bin/sh
hdparm -B 254 /dev/sda
并将该文件复制到以下三个位置:
/etc/acpi/suspend.d/
/etc/acpi/resume.d/
/etc/acpi/start.d/

注:原作者说这种方法只适用于SATA硬盘,不过我的硬盘是IDE的,也有效。此外,据说这种解决方法会造成硬盘过热,不过现在是冬天,感觉不太明显,再看看吧。

方法2、安装laptop-mode-tools(好像UBuntu 7.10默认就装了的),并修改文件/etc/laptop-mode/laptop-mode.conf,设置CONTROL_HD_POWERMGMT=1。

注:第二种方法测试了下,在我的机器上无效。


上面两个方法都需要用sudo执行。

反正现在我的Load/Unload Cycle数是不再增长了,貌似解决了吧。不过感觉硬盘地方有点热,心里作用?
i am not ,but i will.
linusware
帖子: 89
注册时间: 2007-12-04 23:24

#8

帖子 linusware » 2007-12-12 11:41

第二种方法应该是这样,本人验证有效:

In /etc/laptop-mode-laptop-mode.conf:
CONTROL_HD_IDLE_TIMEOUT=1
LM_AC_HD_IDLE_TIMEOUT_SECONDS=300
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=300
NOLM_HD_IDLE_TIMEOUT_SECONDS=7200
CONTROL_HD_POWERMGMT=1
BATT_HD_POWERMGMT=254
LM_AC_HD_POWERMGMT=255
NOLM_AC_HD_POWERMGMT=255

In /etc/default/acpi-support:
ENABLE_LAPTOP_MODE=true
SPINDOWN_TIME=60

In /etc/acpi/power.sh:
Changed "$HDPARM -B 1 /dev/$drive 2>/dev/null" to "$HDPARM -B 254 /dev/$drive 2>/dev/null"
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26

#9

帖子 windwiny » 2007-12-12 13:06

。。。。。晕,是真是假下载个软件看不就知道了

代码: 全选

sudo smartctl -a /dev/sda | grep -i load
193 Load_Cycle_Count        0x0032   052   052   000    Old_age   Always       -       97780

最后一个值就是

在win 下找个 everest 的软件看

Ubuntu 7.10 8.04 在我没问题,重启一次加2, XP 下每几分钟就加1
头像
wangboe
帖子: 596
注册时间: 2007-10-23 22:47

#10

帖子 wangboe » 2007-12-12 19:48

我的上次查了下是60200多,过了半个多月,每天15多小时,到下边水平,应该算正常吧。机器是是06年5-1买的

代码: 全选

193 Load_Cycle_Count        0x0032   097   097   000    Old_age   Always       -       63123
捉泥鳅,捉泥鳅
大哥哥带你去捉泥鳅
头像
npnufn
帖子: 1845
注册时间: 2005-10-14 15:56

#11

帖子 npnufn » 2007-12-13 12:00

我的就是日历的硬盘,无论在windows下还是在ubuntu下,每分钟都涨好多次
无奈啊
yunio:又一个支持linux的云存储:链接 (非邀请链接)。
BCM4313驱动正常无法联网的解决:这里
plank:轻巧漂亮的dock 介绍在这里
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

#12

帖子 hubert_star » 2007-12-13 12:44

这个问题真的很没有必要讨论,windows下比linux涨的还快,怎么没人说呢。

其实你可以到硬盘官方网站下一个改硬盘参数的iso,引导进入后把硬盘的空闲时间改长一点就行了,而没有必要在操作系统里面设置,不然做一次系统就又回去了。

我验证过,不管是windows 2003/xp/vista,我的机器基本上开机多少分钟就增加2-3倍*分钟数,而在ubuntu 710上少点但是也是持续增长的。

而现在用笔记本的有多少已经用很长时间的的,不需要关心的,就算不放心的话时常备份一下关键数据,等硬盘坏了买个更大的岂不更好?
rgaobj
帖子: 209
注册时间: 2007-11-15 7:47

#13

帖子 rgaobj » 2007-12-13 12:58

没那么夸张,紧张什么。这个BUG不是UBUNTU独有的,WINXP,各种LINUX发行版都有这个问题,但无一例外等级都被定为“低级”,这也就可以证明并没那么严重。

其实这个所谓的BUG原本只是为了保护硬盘所研发的一种功能,它可以有效降低硬盘的能耗以及发热量,如果想禁用这种功能,也最好不要采用楼上的方法,最合理的方式是让程序做一个判断,电源供电和电池供电区别对待。

sudo gedit 99-hdd-ugly-fix.sh

输入:
#!/bin/bash
if on_ac_power; then
# on AC so don't do any head parking
hdparm -B 254 /dev/sda
else
# either on battery or power status could not be determined
# so quickly park the head to protect the disk
hdparm -B 128 /dev/sda
fi
保存

sudo install 99-hdd-ugly-fix.sh /etc/acpi/resume.d/
sudo install 99-hdd-ugly-fix.sh /etc/acpi/start.d/
sudo install 99-hdd-ugly-fix.sh /etc/acpi/ac.d/
sudo install 99-hdd-ugly-fix.sh /etc/acpi/battery.d/

这里要注意,一旦作出这种改变,你的硬盘的能耗己发热量会大大增加,最好更改后测试一下,如果发热量过大或严重影响电池续航最好还是该回来。

其实load_cycle_count这个BUG没那么可怕,首先60万这个数字是一个标称值,但实际寿命远远高于这个数字,我又一块老硬盘,已经到达80多万,一样用的好好的。再说,即使60万真的就不能用了,那你好好算算,一块新硬盘的load_cycle_count从0到60万,怎么也能用个4、5年吧,到时候别说硬盘了,机器都被淘汰了。还有,据专家估计,3年后固态硬盘的价格会降到一个合理的水平,到时候换一块固态的多爽!我就等着那一天了,呵呵……
niufox
帖子: 98
注册时间: 2007-07-13 17:22

#14

帖子 niufox » 2007-12-13 20:51

64位操作系统下不会这个问题~不知道是不是我的运气太好?
HP COMPAQ V3000 3240
joshuahe
帖子: 35
注册时间: 2008-03-09 14:23

#15

帖子 joshuahe » 2008-05-23 0:46

看了大家的回复,感觉也没什么大不了的
回复