我在 Acer Aspire One 722 上运行 Ubuntu 11.10。每当我使用电池供电时,每隔 5 秒左右我就会听到硬盘发出咔嗒声(笔记本电脑插上电源时不会发生这种情况)。我使用 Windows 7 双重启动,但在 Windows 中听不到咔嗒声。
当我运行以下命令时,咔哒声停止:sudo hdparm -B 254 /dev/sda
另外,根据:sudo smartctl -H /dev/sda
我的硬盘是健康的。
我可以忽略这种咔哒声吗?还是这是一个严重的问题,最终会损坏我的电脑?如果是这样,我该如何修复它?
我尝试过将文件添加hdparm -B 254 /dev/sda
到我的/etc/rc.local
文件中,但如果我的电脑在插入电源后启动,然后拔掉电源,我仍然会遇到点击问题。此外,我发现此修复不可靠。有时有效,有时无效。这是一个好的解决方案吗?有没有更好的方法?此外,以 -B 值为 254 运行我的笔记本电脑会产生任何负面影响吗?(我读到过有关较低级别保护硬盘免受撞击的信息)
答案1
gksudo gedit /etc/hdparm.conf
在 gedit 文件的“底部”输入
/dev/sda {
apm = 254
apm_battery = 254
}
答案2
这是以下内容的重复:笔记本电脑的硬盘实际上不会减速
对于删除一系列命令的发帖者,最好能给出解释。完全禁用硬盘电源管理是有代价的,比如当磁头停在原处时,硬盘更能承受跌落带来的冲击。
分析您的使用情况并尽量减少磁盘命中率才是真正的出路。创建 tmpfs 来缓存您能承受丢失的东西(如浏览器缓存)则由您自行决定。
WRT 在启动和挂起/恢复过程中保持 hdparm 参数一致,这由 pm-utils 管理并由此处的脚本驱动:/usr/lib/pm-utils/power.d/95hdparm-apm
。/etc/hdparm.conf
应该控制这些值hdparm_options
。/lib/hdparm/hdparm-functions
如果没有,那就是一个错误。
hdparm -B
-B Get/set Advanced Power Management feature, if the drive supports
it. A low value means aggressive power management and a high
value means better performance. Possible settings range from
values 1 through 127 (which permit spin-down), and values 128
through 254 (which do not permit spin-down). The highest degree
of power management is attained with a setting of 1, and the
highest I/O performance with a setting of 254. A value of 255
tells hdparm to disable Advanced Power Management altogether on
the drive (not all drives support disabling it, but most do).
答案3
听起来它正试图非常积极地停下头部。您的hdparm
命令基本上会将其关闭。
如果你观察Load_Cycle_Count
中的值smartctl
,它是否每点击一次就会增加 1?这将支持这一理论。
这很可能缩短了驱动器的使用寿命,毕竟它对移动部件的压力超过了它们应有的压力。我会输入命令hdparm
-/etc/rc.local
您可以调整-B
0 到 254 之间的值。127 是最高值,可使驱动器减速(请参阅man hdparm
)。
根据我的经验,HD 实际上没有机会在 Linux 中关闭,因为 syslogd 总是在写一些关于 cron 或其他东西的内容。
答案4
检查软件中心或 synaptics 中是否安装了笔记本电脑模式工具。如果是,您可以通过编辑文件将上述设置更改为使用电池时的 254。/etc/laptop-mode/laptop-mode.conf
要编辑此文件,请转到终端并输入 gksudo gedit,然后导航到文件,然后更改并保存设置。我无法提供屏幕截图,因为我不想安装此程序。
另一种可能性是修改文件 etc/hdparm.conf,在脚本末尾添加以下内容:
/dev/sda {
apm = 254 # power
apm_battery = 254 # battery
spindown_time = 0 # no spin down
}