记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

Linux系统hdparm硬盘休眠

Linux系统hdparm硬盘休眠
查看是否已安装hdparm
XML/HTML代码
  1. hdparm
让你的硬盘冷静下来!hdparm硬盘休眠
安装hdparm(Debian为例)
XML/HTML代码
  1. sudo apt-get -y install hdparm
查看本机所有磁盘
XML/HTML代码
  1. fdisk -l
让你的硬盘冷静下来!hdparm硬盘休眠
查看硬盘是否支持写入缓存,有* (星号),表示支持
XML/HTML代码
  1. sudo hdparm -I /dev/sda | grep 'Write cache'
让你的硬盘冷静下来!hdparm硬盘休眠
让硬盘进入待机模式
XML/HTML代码
  1. hdparm -y /dev/sda1
让硬盘进入睡眠模式
XML/HTML代码
  1. hdparm -Y /dev/sda1
设置定时休眠
5分钟无操作休眠(参数是5的倍数,比如60*5是300秒也就是5分钟)
XML/HTML代码
  1. hdparm -S 60 /dev/sda1
查看hdparm配置
XML/HTML代码
  1. sudo vim /etc/hdparm.conf
让你的硬盘冷静下来!hdparm硬盘休眠
查看是否已安装smartctl
XML/HTML代码
  1. smartctl
让你的硬盘冷静下来!hdparm硬盘休眠
安装smartctl
XML/HTML代码
  1. sudo apt-get install smartmontools
查看硬盘状态,ACTIVE(活动)STANDBY(休眠)
XML/HTML代码
  1. smartctl -i -n standby /dev/sda |grep "mode"|awk '{print $4}'
注意:如果hdparm使用立即休眠有效果,而定时休眠不生效,可以尝试设置下面命令。
创建脚本
XML/HTML代码
  1. vi /etc/spindown
代码如下:
XML/HTML代码
  1. #!/bin/sh
  2. oldstate=''
  3. n="$2"
  4. while :; do
  5. sleep 60
  6. newstate=$(grep "$1" /proc/diskstats)
  7. if [ "$newstate" = "$oldstate" ]; then
  8. n=$(($n - 1))
  9.  [ "$n" != 0 ] || hdparm -y /dev/"$1" 
  10. else 
  11. n="$2" 
  12. oldstate=$newstate     
  13. fi
  14. done &
设置文件权限
XML/HTML代码
  1. chmod 777 /etc/spindown
执行脚本,sda硬盘20分钟后休眠
XML/HTML代码
  1. /etc/spindown sda 20
放入开机程序启动
XML/HTML代码
  1. vi /etc/rc.local
添加代码
XML/HTML代码
  1. /etc/spindown sda 20
简单操作
硬盘休眠(没有hdparm的话需安装)
查看硬盘id
XML/HTML代码
  1. ls /dev/disk/by-id
显示为
ata-.....
编辑/etc/hdparm.conf文件,增加(60为5分钟):
XML/HTML代码
  1. /dev/disk/by-id/ata-... {
  2.     apm  = 127
  3.     spindown_time = 60
  4.     write_cache = on
  5. }
查看休眠状态:
XML/HTML代码
  1. hdparm -C /dev/sda
硬盘休眠主要是针对机械盘,固态硬盘就无所谓了。其他系统自测。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):