当我的系统上没有用户时,我希望硬盘降速到低功耗状态。我意识到这可能无法在 24 小时内 100% 实现,但系统可以在不使用时保持空闲几个小时似乎是合理的。
我的系统是无头的,并且运行的服务数量有限。主要服务有:exim4、mythtv-backend、nfs、samba、cups、apt-cacher-ng
假设驱动器已启用以进入待机模式。此外,增加回写超时是不可接受的,因为我的系统不在 UPS 上。
当我的系统上没有用户时,我希望硬盘降速到低功耗状态。我意识到这可能无法在 24 小时内 100% 实现,但系统可以在不使用时保持空闲几个小时似乎是合理的。
我的系统是无头的,并且运行的服务数量有限。主要服务有:exim4、mythtv-backend、nfs、samba、cups、apt-cacher-ng
假设驱动器已启用以进入待机模式。此外,增加回写超时是不可接受的,因为我的系统不在 UPS 上。
hdparm允许您设置驱动器的降速时间(磁盘进入待机模式之前的不活动时间)或将其置于待机或睡眠状态。
/etc/hdparm.conf包含启动时自动运行的 hdparm 命令。这是我的一个片段:
并非所有命令都适用于所有硬盘型号,您需要进行试验。
笔记本电脑模式也适用于非笔记本电脑,它旨在让磁盘尽可能多地休眠。
PowerTOP是用于跟踪不必要的后台活动的实用程序。
lesswatts.org有许多关于硬盘减速的提示。
回写超时:据我所知,如果没有 a) 增加回写超时和 b) 禁用 syslog 同步,就不可能让主磁盘空闲。
一种解决方法可能是使用 SSD 作为根磁盘,因为它们的功率仍然相当低?
跟踪活动:可以根据笔记本电脑模式常见问题解答来调试磁盘访问的来源- 请参阅 5 Spinup Debugging。
引用:
禁用 syslogd 同步:笔记本电脑模式常见问题解答和 lesswatts.org 参考
/etc/syslog.conf
。在最近的 Ubuntu 中,这个文件不存在,而是寻找
/etc/rsyslog.d/*.conf
.语法是相同的 - 在每个日志文件前面加上一个破折号,如下所示:
这会关闭 syslog 守护进程的同步,这意味着日志将
dirty_writeback_centisecs
每隔一段时间(默认每 5 秒)写入磁盘,而不是每次有新日志条目时写入磁盘。如果您有足够的 RAM,您可以使用 tmpfs 将临时文件系统移动到内存中。编辑 /etc/fstab 并添加:
安装它
noatime
更多 RAM 也有帮助(更大的缓冲区和缓存)
在我的笔记本电脑上,我将 /var/log 安装到 tmpfs ram 驱动器。这使您的磁盘写入次数要少得多,但当然任何日志消息都会在重新启动时被丢弃。当你运行像 exim 这样的服务时你可能不想要的东西。
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0
并在 /etc/rc.local
mkdir /var/log/apt