linux下测试磁盘的读写IO速度(IO物理测速)_io测速-程序员宅基地

技术标签: linux应用  linux  性能测试  

一:使用hdparm命令
这是一个是用来获取ATA/IDE硬盘的参数的命令,是由早期Linux IDE驱动的开发和维护人员 Mark Lord开发编写的( hdparm has been written by Mark Lord <[email protected]>, the primary developer and maintainer of the (E)IDE driver for Linux, with suggestions from many netfolk).该命令应该也是仅用于Linux系统,对于UNIX系统,ATA/IDE硬盘用的可能比较少,一般大型的系统都是使用磁盘阵列的.

使用方法很简单
# hdparm -Tt /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


二:使用dd命令

这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度作一个简单的评估.
另外由于这是一个免费软件,基本上×NIX系统上都有安装,对于Oracle裸设备的复制迁移,dd工具一般都是首选.

首先了解两个特殊设备

/dev/null 伪设备,回收站.写该文件不会产生IO
/dev/zero 伪设备,会产生空字符流,对它不会产生IO

测试方法:
       a.测试磁盘的IO写速度
        time dd if=/dev/zero of=test.dbf bs=8k count=300000   如果要测试实际速度 还要在末尾加上 oflag=direct测到的才是真实的IO速度
     b.测试磁盘的IO读速度
        dd if=test.dbf bs=8k count=300000 of=/dev/null 

     #表示 每次写入/读取8k的数据,执行300000次

dd命令可以通用,但不够专业,也没有考虑到缓存和物理读的区分,测试的数据也是 仅作参考 ,不能算是权威。

##########################

用这个方法测试我08年买的笔记本,写速度23M/s;读速度91M/s

##########################

dd命令解释

dd if= of= bs= skip= seek= conv=

一定不要搞混 source 和 target,不然数据会丢失。所以 dd 平时用着顺手就叫它 dd,但是不小心把数据弄没了就该哭着叫它 Data Destroyer 了。

一般它的常用参数有:

  • bs=n,block size,每次读取 n bytes 写入,可与 count 联用;
    • ibs=n,一次读入 bytes 个字节 (default is 512);
    • obs=n,一次性写 n bytes 个字节 (default is 512);
    • bs 可以同时设置上边两个参数;
    • cbs=n,一次转换 n 个 bytes,即转换缓冲区大小。;
  • count=n, bs 操作的次数,仅拷贝 n 个块,如 dvd: bs=1M count=4430;
  • skip=n,指 if 后面的原文件跳过 n bytes 再开始读取;
  • seek=n,指 of 后面的目标文件跳过 n bytes 再开始写入;   

    测试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
    500 test.dbf     (同事测试读写速度时生成一个大小500M的 test.dbf文件)

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


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

    如果用dd测试,需要加oflag=direct,测到的才是真实的磁盘io
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wh8_2011/article/details/65626601

智能推荐

shell脚本--定期清理僵尸进程(临时解决方法)_shell脚本执行exit 1 执行后进程变成僵尸进程-程序员宅基地

文章浏览阅读3.5k次,点赞4次,收藏14次。僵尸进程产生原因了解:僵尸进程是指完成执行通过exit系统调用,或运行时发生致命错误或收到终止信号所致,但在操作系统进程表中仍然有一个表项,处于“终止状态”的进程。这发生于子进程需要保留表项以允许其父进程读取子进程的exit status:一旦退出态通过wait系统调用读取,僵尸进程条目就从进程表中删除,这个过程被称为reap。正常情况下,进程直接被其父进程wait并由系统回收,进程长时间保持僵..._shell脚本执行exit 1 执行后进程变成僵尸进程

佳能hdr_不要忘了相机自带的HDR功能_佳能 6D_数码影像评测-中关村在线-程序员宅基地

文章浏览阅读2.4k次。·不要忘了相机自带的HDR功能目前很多相机都自带了HDR功能,我们以佳能EOS6D为例,首先将该机顶部的模式拨盘转动到SCN档位,然后按Q键选择拍摄模式,其中就有一个模式叫做HDR逆光控制。首先将相机的拨盘转动到SCN模式选择HDR逆光控制选项在此模式下,相机会快速的连拍三次,然后通过机内的处理将所拍摄的这三张照片合成为一张,可以在一定程度上改善照片高光/阴影的细节。没有启用HDR功能..._佳能6d为什么会连拍三张合成一张

安装Hadoop2.10.1_hadoop2.10.1下载-程序员宅基地

文章浏览阅读4k次。文章目录前言通过在Hadoop1安装Hadoop,然后配置相应的配置文件,最后将Hadoop 所有文件同步到其他Hadoop节点。一、集群规划#主机名‘master/hadoop1’ ‘slave01/hadoop2’ ‘slave02/hadoop3’#启动节点Namenode Nodemanager Nodemanager Resourcemanager _hadoop2.10.1下载

NUMA的取舍和优化设置_numa optimized-程序员宅基地

文章浏览阅读4.2k次。转载:https://www.cnblogs.com/wjoyxt/p/4804081.htmlNUMA的取舍与优化设置 在os层numa关闭时,打开bios层的numa会影响性能,QPS会下降15-30%; 在bios层面numa关闭时,无论os层面的numa是否打开,都不会影响性能。 安装numactl: #yum install numactl -y ..._numa optimized

DID去中心化身份认证技术调研_did过程-程序员宅基地

文章浏览阅读1.3w次。数字身份国际电子技术委员会将“身份”定义为“一组与实体关联的属性”。这里的实体不仅仅是人,对于机器或者物体都可以是实体,甚至网络中虚拟的东西也可以是实体并拥有身份。随着互联网的出现和普及,传统的身份有了另外一种表现形式,即数字身份。一般认为,数字身份的演进经历了以下四个阶段:(1)中心化身份:中心化身份是由单一的权威机构进行管理和控制的,现在互联网上的大多数身份还是中心化身份,比如ICANN管理的域名与IP地址分配,以及PKI(Public Key Infrastructure)系统中的CA(Cert_did过程

Ubuntu18.04安装fsl5.0步骤_怎么下载fsl v5.0版本-程序员宅基地

文章浏览阅读3.2k次,点赞3次,收藏18次。要做医学图像处理相关研究,fsl软件不可或缺。在我安装fsl的过程中遇到很多问题,根本原因是过于依赖网上的安装教程,从而忽视了官网教程。其实官网的教程虽然是英文,但是写的十分简单明了,按照官网教程逐步就可完成安装。此处为官网链接其实对比中文教程和官网教程,差别不大,但是最关键的一处区别为以下两句指令wget -O- http://neuro.debian.net/lists/trusty.c..._怎么下载fsl v5.0版本

随便推点

RK3399-android7.1-mipi转lvds_struct video_timing video_1920x1080_60hz-程序员宅基地

文章浏览阅读847次。RK3399-android7.1-mipi转lvds_struct video_timing video_1920x1080_60hz

c语言变量定义正则表达式,C语言中使用正则表达式-程序员宅基地

文章浏览阅读434次。一个正则表达式的教程可以参看(里面有个测试正则表达式的工具)正则表达是用来匹配字符串的好东东。如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生。由于它可以极大地简化处理字符串时的复杂度,因此现 在已经在许多Linux实用工具中得到了应用。千万不要以为正则表达式只是Perl、Python、Bash等脚本语言的专利,作为C语言程序员,用户同 样可以在自己的..._用正则表达定义变量

Ajax的常用技巧(3)---实现自动刷新页面._ajax页面自动刷新-程序员宅基地

文章浏览阅读1.5w次,点赞4次,收藏20次。网页自动刷新功能在web网站上已经屡见不鲜了,如即时新闻信息,股票信息等,都需要不断获取最新信息。在传统的web实现方式中,想要实现类似的效果,必须进行整个页面的刷新,在网络速度受到一定限制的情况下,这种因为一个局部变动而牵动整个页面的处理方式显得有些得不偿失。Ajax技术的出现很好的解决了这个问题,利用Ajax技术可以实现网页的局部刷新,只更新指定的数据,并不更新其他的数据。 现在创建一_ajax页面自动刷新

Chrome 设置使用已安装JRE的方式_chrome jre-程序员宅基地

文章浏览阅读5.5w次。情况描述此状况发生在Chrome 的较旧的版本上:机器已经安装过JRE 或是JDK, 但是每次打开Chrome 浏览器使用Applet时, 会报需要下载JRE的提示信息(最新的JRE1.7)。看上去, Chrome 并没有找到系统已经安装的JRE。相比而言, 对于IE和Firefox 浏览器。我们可以在Java 控制台设置使用的JRE版本和支持的浏览器, 而且我们可以更改浏览器_chrome jre

实验室linux服务器 配置anaconda+pytorch环境_linux 服务器 anaconda pytorch-程序员宅基地

文章浏览阅读539次。登录服务器后,0 安装anaconda1 进入 base 环境 : conda activate base2 #创建虚拟环境:建议不在base 环境中装pytorchconda create -n pytorch python=3.8 anaconda#pytorch 是虚拟环境的名字,你随意起一个也行#anaconda 让虚拟环境中有anaconda的各种第三方库,否则虚拟环境中就只有python的官方库,不方便.3 进入虚拟环境: conda activate pytorch4 _linux 服务器 anaconda pytorch

【STM32+cubemx】0026 HAL库开发:NRF24L01无线2.4G通信模块的应用_stm32cubemx nrf-程序员宅基地

文章浏览阅读1.6w次,点赞34次,收藏202次。NRF24L01是NORDIC公司生产的一款无线通信通信芯片,可以工作在免费开放的2.4GHz频段;通信速率可以达到最高2Mbps;MUC可以使用SPI接口与它交互。本节我们就来使用stm32驱动NRF24L01实现无线通信,先实现简单的一对一通信,然后讲解一对多通信,最后实现在ack中返回数据的应用。1)NRF24L01模块硬件介绍直接使用nrf24L01芯片搭建电路需要比较高的射频功底,一般情况下推荐使用现成的电路模块,本文使用的是下图这种:类似的nrf24L01模块的对外引_stm32cubemx nrf