61阅读

linux测硬盘读写速度-Linux下硬盘读写速度测试

发布时间:2018-02-26 所属栏目:linux硬盘读写速度

一 : Linux下硬盘读写速度测试

读取速度可以使用命令:hdparm –t 设备名(/dev/sda1)

写入速度使用命令:time dd if=/dev/zero of=/tmp/test.dat bs=1G count=1

测试磁盘的读写IO速度

有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决策.

下面是两种测试方法:
(1)使用hdparm命令
这是一个是用来获取ATA/IDE硬盘的参数的命令,是由早期Linux IDE驱动的开发和维护人员 Mark Lord开发编写的( hdparm has been written by Mark Lord <mlord@pobox.com>, the primary developer and maintainer of the (E)IDE driver for Linux, with suggestions from many netfolk).该命令应该也是仅用于Linux系统,对于UNIX系统,ATA/IDE硬盘用的可能比较少,一般大型的系统都是使用磁盘阵列的.
使用方法很简单
# hdparm -T《犇嫑》t /dev/sda

/dev/sda:
Timing cached reads: 6676 MB in 2.00 seconds = 3340.18 MB/sec
Timing buffered disk reads: 218 MB in 3.11 seconds = 70.11 MB/sec

可以看到,2秒钟读取了6676MB的缓存,约合3340.18 MB/sec;
在3.11秒中读取了218MB磁盘(物理读),读取速度约合70.11 MB/sec

(2)使用dd命令
这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度作一个简单的评估.
另外由于这是一个免费软件,基本上×NIX系统上都有安装,对于Oracle裸设备的复制迁移,dd工具一般都是首选.
在使用前首先了解两个特殊设备
/dev/null 伪设备,回收站.写该文件不会产生IO
/dev/zero 伪设备,会产生空字符流,对它不会产生IO
测试方法:
a.测试磁盘的IO写速度
# time dd if=/dev/zero of=/test.dbf bs=8k count=300000
300000+0 records in
300000+0 records out
10.59s real 0.43s user 9.40s system
# du -sm /test.dbf
2347 /test.dbf

可以看到,在10.59秒的时间里,生成2347M的一个文件,IO写的速度约为221.6MB/sec;
当然这个速度可以多测试几遍取一个平均值,符合概率统计.

b.测试磁盘的IO读速度
# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
19214 9545 8693 53% /
/dev/sda1 99 13 82 14% /boot
none 506 0 506 0% /dev/shm

# time dd if=/dev/mapper/VolGroup00-LogVol00 of=/dev/null bs=8k
2498560+0 records in
2498560+0 records out
247.99s real 1.92s user 48.64s system
上面的试验在247.99秒的时间里读取了19214MB的文件,计算下来平均速度为77.48MB/sec

c.测试IO同时读和写的速度
# time dd if=/dev/sda1 of=test.dbf bs=8k
13048+1 records in
13048+1 records out
3.73s real 0.04s user 2.39s system
# du -sm test.dbf
103 test.dbf

上面测试的数据量比较小,仅作为参考.

相比两种方法:
前者是linux上专业的测试IDE/ATA磁盘的工具,但是使用范围有局限性;(此试验仅仅使用了测试磁盘IO的参数,对于其他参数及解释参考man手册)
后者可以通用,但不够专业,也没有考虑到缓存和物理读的区分,测试的数据也是仅作参考,不能算是权威.

相关阅读

Linux下测试硬盘读写速度 

Linux硬盘检测

二 : linux下测试硬盘读写速度

买了个ssd硬盘,就想着跟普通的机械盘做个比较,因为桌面装的是ubuntu系统,所以就想用linux的命令简单测一下好了

下面是ssd的性能数据:

测试写:

xxx@WaitFish:~ > time dd if=/dev/zero bs=1024 count=1000000 of=1Gb.file1000000+0 records in1000000+0 records out1024000000 bytes (1.0 GB) copied, 3.78724 s, 270 MB/sreal 0m3.789suser 0m0.839ssys 0m2.527s

从null读数据到文件,块大小1024 数量1000000

测试读:

xxx@WaitFish:~ >time dd of=1Gb.file if=/dev/zero bs=1024 count=10000001000000+0 records in1000000+0 records out1024000000 bytes (1.0 GB) copied, 3.84934 s, 266 MB/sreal 0m4.009suser 0m0.852ssys 0m2.698s
从文件读数据到null,测试读性能

下面是机械盘的速度:

写性能:

sudo time dd if=/dev/zero bs=1024 count=1000000 of=1Gb.file1000000+0 records in1000000+0 records out1024000000 bytes (1.0 GB) copied, 69.5384 s, 14.7 MB/s1.62user 13.84system 1:09.56elapsed 22%CPU (0avgtext+0avgdata 704maxresident)k72inputs+0outputs (2major+221minor)pagefaults 0swaps
读性能:
xxx@WaitFish:/media/xx/新加卷 > sudo time dd of=1Gb.file if=/dev/zero bs=1024 count=10000001000000+0 records in1000000+0 records out1024000000 bytes (1.0 GB) copied, 71.2378 s, 14.4 MB/s1.66user 14.34system 1:11.34elapsed 22%CPU (0avgtext+0avgdata 700maxresident)k0inputs+0outputs (0major+224minor)pagefaults 0swaps
看来差的还不是一点点啊,哈哈哈

三 : 如何使用dd命令测试Linux磁盘的读写速度

  为了测试Linux磁盘的读写速度,可使用dd命令,dd命令是一个非常使用的命令,可用于文件的拷贝,下面小编就给大家介绍了如何使用dd命令测试Linux磁盘的读写速度吧。

 如何测试Linux磁盘的读写速度

  1、先熟悉两个特殊的设备:

  (1)/dev/null:回收站、无底洞。

  (2)/dev/zero:产生字符。

  2、测试磁盘写能力

  代码如下:

  time dd if=/dev/zero of=/testw.dbf bs=4k count=100000

  因为/dev//zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。命令结尾添加oflag=direct将跳过内存缓存,添加oflag=sync将跳过hdd缓存。

  3、测试磁盘读能力

  代码如下:

  time dd if=/dev/sdb of=/dev/null bs=4k

  因为/dev/sdb是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb上,也相当于测试磁盘的读能力。(Ctrl+c终止测试)

  4、测试同时读写能力

  代码如下:

  time dd if=/dev/sdb of=/testrw.dbf bs=4k

  在这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sdb是读,对/testrw.dbf是写),假设它们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。

  上面就是使用dd命令测试Linux磁盘读写速度的方法介绍了,本文分别测试了Linux磁盘的读速度、写速度及同时读写速度,以便对Linux磁盘的读写速度有更全面的了解。

四 : Linux下检测DVD刻录机的设备名及写入速度的几种方法

  现在的电脑都有配置DVD刻录机,那么要如何知道自己电脑的DVD刻录机的名字及写入速度呢?下面小编就给大家介绍几个Linux下检测DVD刻录机的名字及写入速度的方法,一起来了解下吧。

  提问:我想要知道我的DVD刻录机的名字和在烧录时的速度。该使用什么Linux命令行工具来连测DVD刻录机的设备名和速度?

  如今大多数消费PC和笔记本电脑都配备了DVD刻录机。在Linux中,光盘驱动器,如CD/DVD驱动器的名字是在引导时内核基于udev规则来命名的。有几种方法来检测刻录机的设备名称和它的写入速度。

   Linux下如何检测DVD刻录机的设备名及写入速度

  方法一

  找出与DVD刻录机相关的设备名称最简单的方法是使用dmesg命令行工具,它打印出内核的消息缓冲区。在dmesg的输出中,寻找一个安装好的DVD刻录机:

  $ dmesg | egrep -i --color ‘dvd|cd/rw|writer’

   Linux下如何检测DVD刻录机的设备名及写入速度

  上述命令的输出会告诉你你的Linux系统上是否检测到了DVD刻录机以及它被分配的名字。本例中,DVD刻录机的设备名称为“/dev/sr0”。虽然此方法不会告诉你的写入速度

  方法二

  第二个获得你DVD刻录机的信息是使用lsscsi命令,它只是列出了所有可用的SCSI设备。

  在基于Debian Linux上安装 lsscsi:

  $ sudo apt-get install lsscsi

  在基于Red Hat Linux上安装:

  $ sudo yum install lsscsi

  如果成功检测到,lsscsi命令的输出会告诉你DVD刻录机的名称:

  $ lsscsi

   Linux下如何检测DVD刻录机的设备名及写入速度

  这也不会告诉你刻录机更多的细节,比如写入速度。

  方法三

  第三种获取有关你DVD刻录机的信息是参考/proc/sys/dev/cdrom/info。

  $ cat /proc/sys/dev/cdrom/info

  CD-ROM information, Id: cdrom.c 3.20 2003/12/17drive name: sr0drive speed: 24drive # of slots: 1Can close tray: 1Can open tray: 1Can lock tray: 1Can change speed: 1Can select disk: 0Can read multisession: 1Can read MCN: 1Reports media changed: 1Can play audio: 1Can write CD-R: 1Can write CD-RW: 1Can read DVD: 1Can write DVD-R: 1Can write DVD-RAM: 1Can read MRW: 1Can write MRW: 1Can write RAM: 1

  本例中,输出会告诉你DVD刻录机(/dev/sr0)与x24的CD刻录速度(即24x153.6 Kbps)兼容,且相当于x3的DVD写入速度(即3x1385 KBps的)兼容。这里的写入速度是最大可能的速度,而实际的写入速度当然取决于使用的介质(例如:DVD-RW、DVD + RW、DVD-RAM等)。

  方法四

  另一种方法是使用一种称为wodim命令行程序。在大多数的Linux发行版,这个工具以及它的软链接cdrecord都是默认安装的。

  # wodim -prcap(or cdrecord -prcap)

   Linux下如何检测DVD刻录机的设备名及写入速度

  如果不带任何参数调用时,wodim命令会自动检测到DVD刻录机,并显示出详细的功能以及它的最大读取/写入速度。例如,你可以找出刻录机支持哪些媒体(如CD-R、CD-RW、DVD-RW、DVD-ROM、DVD-R、DVD-RAM、音频CD),以及有哪些如何读/写速度。上面的例子中输出显示,DVD刻录机对于CD拥有X24最大写入速度,对于DVD有X3的最大写入速度。

  需要注意的是wodim命令报告的写入速度会随您插入到DVD刻录机的CD/DVD介质的改变而改变,这反映了媒体规范。

  方法五

  还有一个方法来检查DVD刻录机的写入速度的是一个名为dvd+rw-mediainfo的工具,这是dvd+rw工具包(DVD+-RW/R媒体工具链)的一部分。

  在基于Debian 发行版上安装 dvd+rw-tools

  $ sudo apt-get install dvd+rw-tools

  在基于Red Hat 发行版上安装 dvd+rw-tools:

  $ sudo yum install dvd+rw-tools

  不像其他工具, dvd+rw-mediainfo命令不会产生任何输出,除非你插入DVD光盘到刻录机中。所以,当你插入DVD光盘后,运行以下的命令。用你自己的设备名称替换“/dev/sr0”。

  $ sudo dvd+rw-mediainfo /dev/sr0

  Linux下如何检测DVD刻录机的设备名及写入速度

  dvd+rw-mediainfo工具会探测插入的媒体(本例中是“DVD-R”),以找出对媒体的实际写入速度。

  上面就是Linux下检测DVD刻录机的设备名及写入速度的方法介绍了,有些方法仅能检测DVD刻录机的设备名,可根据需求选择适合的方法来检测。

五 : 使用dd命令测试linux磁盘读写速度的方法

1、先熟悉两个特殊的设备:
(1)/dev/null:回收站、无底洞。
(2)/dev/zero:产生字符。

2、测试磁盘写能力


time dd if=/dev/zero of=/testw.dbf bs=4k count=100000


因为/dev//zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。命令结尾添加oflag=direct将跳过内存缓存,添加oflag=sync将跳过hdd缓存。

3、测试磁盘读能力


time dd if=/dev/sdb of=/dev/null bs=4k


因为/dev/sdb是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb上,也相当于测试磁盘的读能力。(Ctrl+c终止测试)


4、测试同时读写能力


time dd if=/dev/sdb of=/testrw.dbf bs=4k


在这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sdb是读,对/testrw.dbf是写),假设它们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。

本文标题:linux测硬盘读写速度-Linux下硬盘读写速度测试
本文地址: http://www.61k.com/1166360.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1