重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
hd-idle无论怎样设置都无法使用硬盘在空闲时休眠,实在找不到原因。在查找相关资料时发现在linux操作系统还有个叫hdparm的硬盘控制软件,然后在OPENWRT软件搜索果真有这个软件,然后就安装试试。不想真能让我的硬盘在设置好的空闲时间后进入省电模式也可以说是休眠模式吧!给出我的安装使用过程。注:我的路由(HG255D刷OPENWRT)装有迅雷固件、个人博客、aria2、百度同步+常用共享组件!使用还是可以的负载不算很高。之前有人说装迅雷固件后不能休眠,但我的可以休眠。不能休眠的可以试试这个软件...
成都创新互联公司专注于汤阴网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供汤阴营销型网站建设,汤阴网站制作、汤阴网页设计、汤阴网站官网定制、小程序设计服务,打造汤阴网络公司原创品牌,更为您提供汤阴网站排名全网营销落地服务。
OPENWRT路由上安装与设置:
一、安装hdparm
opkg update
opkg install hdparm
二、执行命令:
hdparm -S 60 /dev/sda (放到开机启动项就可以每次开机都生效!)
hdparm -y /dev/sda (这个命令是立即休眠,测试硬盘是否休眠成功。)
说明:hdparm -S 60 /dev/sda 设置超时值(5分钟)使硬盘进入休眠模式(省电模式)(这个 S数值/12=分钟); /dev/sda 为挂载的硬盘路径,ls /dev/sda*查看你的盘符。
三、执行完hdparm -S 60 /dev/sda 这个命令时你的路由已经设置为5分钟休眠了。(注:5分钟硬盘无操作时省电模式,休眠时接到读写命令会自动唤醒进入工作模式)**Linux hdparm 命令**
四、hdparm功能说明:显示与设定硬盘的参数。
语法:hdparm -CfghiIqtTvyYZ-A 0或1-d 0或1-K 0或1-n 0或1-P -S -W 0或1[设备]
补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。
测试各硬盘读取速度判断硬盘故障
在服务端命令窗口中执行如下命令
hdparm -t /dev/hda (IDE硬盘)
hdparm -t /dev/sda (SATA、SCSI、硬RAID卡阵列)
hdparm -t /dev/md0 (软RAID设备)
测试结果在空载情况下应 40M/s ,在负载情况下平均应 20M/s 为正常,如测试结果极低则需要进一步使用硬盘专用检测工具测试是否为硬盘故障。
参数:
-a 设定读取文件时,预先存入块区的分区数,若不加上选项,则显示目前的设定。
-A0或1 启动或关闭读取文件时的快取功能。
-c 设定IDE32位I/O模式。
-C 检测IDE硬盘的电源管理模式。
-d0或1 设定磁盘的DMA模式。
-f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。
-g 显示硬盘的磁轨,磁头,磁区等参数。
-h 显示帮助。
-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
-I 直接读取硬盘所提供的硬件规格信息。
-k0或1 重设硬盘时,保留-dmu参数的设定。
-K0或1 重设硬盘时,保留-APSWXZ参数的设定。
-m 设定硬盘多重分区存取的分区数。
-n0或1 忽略硬盘写入时所发生的错误。
-p 设定硬盘的PIO模式。
-P 设定硬盘内部快取的分区数。
-q 在执行后续的参数时,不在屏幕上显示任何信息。
-r0或1 设定硬盘的读写模式。
-S 设定硬盘进入省电模式前的等待时间。
-t 评估硬盘的读取效率。
-T 平谷硬盘快取的读取效率。
-u0或1 在硬盘存取时,允许其他中断要求同时执行。
-v 显示硬盘的相关设定。
-W0或1 设定硬盘的写入快取。
-X 设定硬盘的传输模式。
-y 使IDE硬盘进入省电模式。
-Y 使IDE硬盘进入睡眠模式。
物理磁盘没有灯,硬盘会亮灯是raid卡认为盘已出问题控制硬盘背板亮灯,另外定位硬盘也可以亮灯,这个功能是由raid卡的软件或服务器管理软件来提供的。
磁盘空间管理
系统软件和应用软件,都要以文件的形式存储在计算机的磁盘空间中。因此,应该随时监视磁盘空间的使用情况。Linux系统提供了一组有关磁盘空间管理的命令。
df命令
功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:df [选项]
说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。
该命令各个选项的含义如下:
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k 以k字节为单位显示。
-i 显示i节点信息,而不是磁盘块。
-t 显示各指定类型的文件系统的磁盘空间使用情况。
-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-T 显示文件系统类型。
例1:列出各文件系统的磁盘空间使用情况。
$ df
Filesystem 1 K-blocks Used Available Use% Mounted on
/dev/hda2 1361587 1246406 44823 97% /
df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的安装点。
例2:列出各文件系统的i节点使用情况。
$ df -ia
Filesystem Inodes IUsed IFree Iused% Mounted on
/dev/ hda2 352256 75043 277213 21% /
none 0 0 0 0% /proc localhost:(pid221) 0 0 0 0% /net
例3:列出文件系统的类型。
$ df -T
Filesystem Type 1K-blocks Used Available use% Mounted on
/dev/hda2 ext2 1361587 1246405 44824 97% /
本例中的文件系统是ext2类型的。
du命令
du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。
功能:统计目录(或文件)所占磁盘空间的大小。
语法:du [选项] [Names…]
说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。
该命令的各个选项含义如下:
-s 对每个Names参数只给出占用的数据块总数。
-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
-k 以1024字节为单位列出磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省设置)。
-l 计算所有的文件大小,对硬链接文件,则计算多次。
-x 跳过在不同文件系统上的目录不予统计。
下面举例说明du命令的使用:
例1:查看/mnt目录占用磁盘空间的情况。
$ cd /mnt $ ls -lFR total 10 -rwxrwxrwx 2 root root ll0 Ju1 3l 00:33 aa*
drwxr-xr-x 2 root root l024 Ju1 20 14:16 dev/
-rw-r--r-- 1 root root 6229 Aug 2 0l:39 s1ack
drwxrwxrwx 2 root root 1024 Aug 2 02:09 var/
1rwxrwxrwx 1 root root l0 Aug 2 0l:51 wei-/home/wei/
dev:
tota1 0
lrwxrwxrwx 1 root root 8 Ju1 20 l4:l6 cdrom-/dev/hdb
var:
tata1 37
-r-xr-xr-x l root root 36064 Aug 2 02:09 rawrite. exe*
例2:列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间。
$ du
l . /dev
38 . /var
48 .
输出清单中的第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称。 注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:
$ du –s /mnt
/mnt
例3:列出所有文件和目录所占的空间(使用a选项),而且以字节为单位(使用b选项)来计算大小。
$ du -ab
8 ./dev/cdrom
l032 ./dev
36064 ./var/rawrite. exe
37088 ./var
6229 ./s1ack
1l0 ./aa
l0 ./wei
45493 .
磁 盘 操 作
dd命令
功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。
语法:dd [选项]
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。
cbs = byte 一次转换bytes字节。
count=blocks 只拷贝输入的blocks块。
conv = ASCII 把EBCDIC码转换为ASCIl码。
conv = ebcdic 把ASCIl码转换为EBCDIC码。
conv = ibm 把ASCIl码转换为alternate EBCDIC码。
conv = block 把变动位转换成固定字符。
conv = ublock 把固定位转换成变动位。
conv = ucase 把字母由小写转换为大写。
conv = lcase 把字母由大写转换为小写。
conv = notrunc 不截短输出文件。
conv = swab 交换每一对输入字节。
conv = noerror 出错时不停止处理。
conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)。
例1:要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令:
$ dd if =/dev/fd0 of = /tmp/tmpfile
拷贝完成后,将源盘从驱动器中取出,把目标盘插入,输入命令:
$ dd if = /tmp/tmpfile of =/dev/fd0
软盘拷贝完成后,应该将临时文件删除:
$ rm /tmp/tmpfile
例2:把net.i这个文件写入软盘中,并设定读/写缓冲区的数目。 (注意:软盘中的内容会被完全覆盖掉)
$ dd if = net.i of = /dev/fd0 bs = 16384
例3:将文件sfile拷贝到文件 dfile中。
$ dd if=sfile of=dfile
fdformat 命令
软盘是用户常用的存储介质之一。软盘在使用之前必须先作格式化操作,然后可以用tar、dd、cpio等命令存储数据,也可以在软盘上建立可安装的文件系统。
功能:低级格式化软盘
语法:format [-n] device
说明:该命令的作用是对软盘进行格式化。
-n 软盘格式化后不作检验。
device 指定要进行格式化的设备,通常是下述设备之一:
/dev/fd0d360
/dev/fd0h1200
/dev/fd0D360
/dev/fd0H360
/dev/fd0D720
/dev/fd0H720
/dev/fd0h360
/dev/fd0h720
/dev/fd0H1440
在linux下,我喜欢用命令让系统进入休眠:
$ echo mem | sudo tee /sys/power/state
当然,不用每次都要敲这么一长串,可以把它加入到一个脚本中。 再将该脚本命令加入到/etc/sudoers文件,就可以避免每次都需要输入用户密码了。
man hdparm
hdparm -Y /dev/hd*:使硬盘进入睡眠模式;
hdparm -y /dev/hd*:使硬盘进入省电模式;
hdparm -S[num] /dev/hd*:设置超时值使硬盘进入睡眠模式;
唤醒硬盘hdparm好像没有相应参数,实际上你去操作硬盘就会自动唤醒硬盘,使用ioctl有个参数可以唤醒硬盘,你可以查看硬盘操作的相应头文件。
具体看hdparm的源代码,实际是使用ioctl操作硬盘相应寄存器。