当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 在Linux操作系统下如何开启硬盘DMA

Unix/Linux
Linux指令篇:DOS相容指令--mattrib
LinuxShadow-Password-HOWTO-4.编译程式
Linux每次启动时钟日期就多了8小时
RedhatLinux升级SSH笔记
Linux常用命令(备份与压缩)
LinuxShadow-Password-HOWTO-9.常问问题及答案
Linux常用命令(文件的复制、删除和移动)
轻轻松松的安装SlackwareLinux--2.作业系统安装初步
Linux网管123---第9章.各种杂项管理工作-2.管理进程
RedHat6.0大量建帐号的方法
汉化你的RedHat全攻略(3)-RedHat7.0上的中文环境和输入法
Linux指令篇:工作行程资讯与管理--skill
Linux指令篇:工作行程资讯与管理--renice
Linux指令篇:工作行程资讯与管理--ps
Linux指令篇:工作行程资讯与管理--nice
Linux指令篇:讯息传送与信件管理--write
Linux指令篇:讯息传送与信件管理--talk
Linux指令篇:讯息传送与信件管理--newaliases
Linux的shell编程
第一篇Blog文章

Unix/Linux 中的 在Linux操作系统下如何开启硬盘DMA


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 128 ::
收藏到网摘: n/a

    注意:/sbin/hdparm命令不支持SATA硬盘。

Linux下的32位I/O和DMA默认是关闭的。如果用的是16位I/O的话,就无法充分发挥电脑的性能。

如果要打开32位I/O和DMA,就需要以root身份进行设置。为了降低因出错而重启系统对文件系统的损害,最好以单用户模式进行。

首先,使用下面的命令检查硬盘驱动器的当前I/O情况:

[root@anima lwg]# /sbin/hdparm -t /dev/hda

/dev/hda:

Timing buffered disk reads: 8 MB in 3.31 seconds = 2.42 MB/sec

[root@anima lwg]#

如果要显示当前I/O、DMA设置,可以分别使用下面的命令:

[root@anima lwg]# /sbin/hdparm -c /dev/hda (显示当前I/O设置)

/dev/hda:

IO_support = 0 (default 16-bit)

[root@anima lwg]# /sbin/hdparm -d /dev/hda (显示当前DMA设置)

/dev/hda:

using_dma = 0 (off)

[root@anima lwg]#

通过上面的命令,已经知道现在32位I/O和DMA是关闭的,可以分别用下面的命令将其打开:

[root@anima lwg]# /sbin/hdparm -c 1 /dev/hda (打开32位I/O)

/dev/hda:

setting 32-bit IO_support flag to 1

IO_support = 1 (32-bit)

[root@anima lwg]# /sbin/hdparm -d 1 /dev/hda (打开DMA)

/dev/hda:

setting using_dma to 1 (on)

using_dma = 1 (on)

[root@anima lwg]#

然后使用下面的命令使设置生效:

[root@anima lwg]# /sbin/hdparm -k 1 /dev/hda

/dev/hda:

setting keep_settings to 1 (on)

keepsettings = 1 (on)

[root@anima lwg]#

好啦!现在再查看一下驱动器的I/O情况:

[root@anima lwg]# /sbin/hdparm -t /dev/hda

/dev/hda:

Timing buffered disk reads: 116 MB in 3.03 seconds = 38.34 MB/sec

[root@anima lwg]#

可以看到,现在系统的I/O性能提高了很多。

但是,上面的设置只是对当前的系统有效,当再次重启系统时,又得重新设置了。

如果要使每次系统启动时都打开DMA,可以在/etc/rc.d/rc.local文件中添加上面的命令来实现:

[root@anima lwg]# echo "/sbin/hdparm -c 1 -d 1 -k 1 /dev/hda" >> /etc/rc.d/rc.local

[root@anima lwg]#

 

[1] [2] 下一页