我的电脑中有 2 个硬盘。Ubuntu 会在大约 15 分钟后很快关闭第二个硬盘,这对我来说很短。我需要控制这个时间。我该怎么做?
我尝试了 GNOME 电源管理,但发现它没什么用。
答案1
看一下hdparm
。
从手册(man hdparm
在命令行上):
-S Put the drive into idle (low-power) mode, and also set the standby (spindown)
timeout for the drive. This timeout value is used by the drive to determine how
long to wait (with no disk activity) before turning off the spindle motor to save
power. Under such circumstances, the drive may take as long as 30 seconds to
respond to a subsequent disk access, though most drives are much quicker. The
encoding of the timeout value is somewhat peculiar. A value of zero means
"timeouts are disabled": the device will not automatically enter standby mode.
Values from 1 to 240 specify multiples of 5 seconds, yielding timeouts from 5
seconds to 20 minutes. Values from 241 to 251 specify from 1 to 11 units of 30
minutes, yielding timeouts from 30 minutes to 5.5 hours. A value of 252 signifies
a timeout of 21 minutes. A value of 253 sets a vendor-defined timeout period
between 8 and 12 hours, and the value 254 is reserved. 255 is interpreted as 21
minutes plus 15 seconds. Note that some older drives may have very different
interpretations of these values.
所以:
sudo hdparm -I /dev/sdb | grep level
将显示当前的旋转值,例如:
Advanced power management level: 254
从手册上看,254 是保留的,所以我希望它是 Ubuntu 的默认值(有人可以确认/扩展这一点吗?)。
例子:
sudo hdparm -S 25 /dev/sdb
= 25*5 秒后旋转停止。sudo hdparm -S 245 /dev/sdb
= (245-240) * 30 分钟后旋转停止。
答案2
磁盘工具 -> 选择 HDD 驱动器 -> 单击右上角的“更多操作...”图标 -> 驱动器设置...
我的看起来像这样:
答案3
如果你希望 hdparm 的设置在重启后保持不变,而不是将其添加到 crontab,你可以使用/etc/hdparm.conf
。我有以下内容,请注意使用大写 S,而不是小写:
command_line {
hdparm -S 25 /dev/disk/by-uuid/f6c52265-d89f-43a4-b03b-302c3dadb215
}
添加该行,用您的 UUID 替换它,或者您也可以使用格式指定设备/dev/sdX
。您可以使用以下命令找出磁盘的 UUID sudo blkid
。
答案4
经过几个小时的努力,我发现我的 Western Digital 硬盘不支持hdparm -S
命令,无论idle3
属性值如何 (google: idle3ctl
)。这是 WD 硬盘的常见问题。
但我很高兴地宣布hd-idle
(http://hd-idle.sourceforge.net/) 运行完美。
如果从 dpkg-built 软件包安装(请参阅安装说明),它会在 Ubuntu 和 Debian 上创建守护进程(配置位于 中/etc/default/hd-idle
)。从休眠状态恢复后也能正常工作。
mc default # ps aux | grep hd-idle | grep -v grep | cut -c 66- ; for f in [ad] ; do hdparm -C /dev/sd$f | grep -v "^$" ; 完成 /usr/sbin/hd-idle -i 1800 -a sdc -i 600 -a sdd -i 60 -l /var/log/hd-idle.log /dev/sda: 驱动器状态为:活动/空闲 /dev/sdb: 驱动状态为:待机 /dev/sdc: 驱动状态为:待机 /dev/sdd: 驱动状态为:待机