操作系统:GNU/Linux Debian 9.2
我想更改我的计算机行为以在空闲 30 分钟时暂停 HDD。
到目前为止,我发现我需要通过设置更改APM级别以允许挂起磁盘:
hdparm -B 127 /dev/sdX
其中 127 实际上是允许挂起驱动器(spindown)的最大值。
然后我进入待机设置:
hdparm -S 241 /dev/sdX
其中 241 表示它应该在 30 分钟后待机。
hdparm
设置这些时没有报告错误。
现在我的问题:
每次重启后这些设置会消失吗?如果是这样,我应该将这些命令放在哪里才能使其持久化?
请注意,我想立即影响以下设备:
/dev/sda
/dev/sdb
/dev/sdd
/dev/sde
警告:此问题仅用于实验目的。通过增加 HDD SMART 中的启动/停止计数周期,您的 HDD 可能会比继续运行时更快地恶化。
每次重启后这些设置会消失吗?
在软重启的情况下,驱动器保持通电状态,设置不会消失。重启电源确实会重置 APM 参数。(至少,在我的笔记本电脑上)
大多数 setter 也是
hdparm
. APM 设置可以通过以下方式轻松检查:不过,这不适用于待机计时器选项。但从逻辑上讲,这些设置也会丢失。
我应该将这些命令放在哪里才能使其持久化?
各种选项、自定义
udev
规则、systemd
服务、cron
工作 (@reboot
)。什么最适合你。Arch wiki是一个很好的资源,可以获取更多信息。
受上述 wiki 的启发,我
systemd
为我的 Gentoo 系统创建了一个服务文件:您可能希望使用您的设置一次影响所有设备,如下所示:
请注意,您必须对所有内容使用绝对路径,您不能这样做,例如
cmd /dev/sd[abde]
. 二进制文件的确切位置hdparm
在您的发行版中可能不同。使用以下命令了解您
hdparm
通常会调用的位置:然后,您可以启用该服务并选择启动它,您可能只想重新启动机器以 100% 确保它可以正常工作。
Arch 的提议禁止输出,但我更喜欢
hdparm
使用最后发出的命令来验证是否成功。编辑
我发现挂起后,我的硬盘驱动器不保存的参数。这可能是更多笔记本电脑系统的情况。因此我修改了示例单元文件。感谢unix.SO上的这个答案。