几年前,有一个热烈讨论关于 Ubuntu 默认以激进的省电模式操作硬盘,从而缩短硬盘寿命,这会导致过多的加载周期。
我刚刚用 检查了我的 Xubuntu 14.04 笔记本电脑的状态smartctl -a /dev/sda
。结果:180 小时内有 4211 个加载周期。当拔下电源适配器并且笔记本电脑使用电池供电时,每隔约 3 秒就会发生一次新的加载周期。这太多了。
所以我的问题是:自从那次讨论以来有什么变化吗?我应该怎么做才能减少负载周期的频率?旧的解决方案是否仍然有效/最先进的?
答案1
截至 2017 年 5 月,该讨论仍然有效,至少对于某些类型的硬盘而言,旧解决方案仍然有效。诀窍是将电源管理级别设置为不太激进。在大多数磁盘上
# hdparm -B /dev/yourdisk
将为您提供当前设置的 APM(高级电源管理)级别。您将使用相同的命令设置它,并使用实际所需的值。
# hdparm -B 254 /dev/yourdisk
值的范围从 1(最积极的节能)到 254(最不积极的节能)。值 128 及以下甚至允许降速。255 将完全禁用 APM(并非每个型号都支持)。级别取决于系统的类别(我认为台式机不需要除 254 之外的任何其他值,而笔记本电脑……要么稍微试验一下,要么购买 SSD :))。
在西部数据它变得更加复杂。您可以使用 WD 的实用程序 WDIDLE3.EXE,如本文所述:https://ubuntuforums.org/showthread.php?t=1565889或者再次使用 hdparm,这次使用 -J 选项(指定的值以秒为单位,用于停放磁头,有关范围,请参阅 hdparm 手册页中 -J 选项旁边的内容)。后一种方法不太推荐,并且不适用于所有驱动器。
我强烈建议阅读这个 archlinux wiki 页面https://wiki.archlinux.org/index.php/hdparm他们还讨论了如何通过制定 udev 规则使 hdparm 的更改永久生效/etc/udev/rules.d/50-hdparm.rules
:
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sda", RUN+="/usr/bin/hdparm -B 254 -S 0 /dev/sda"
答案2
升级 RAM,禁用交换,就这样。我的桌面上有 6GB RAM,启用了交换,Ubuntu 不会在需要时使用这么多 RAM 的交换,我的硬盘一直闲置着什么也不做。