Linux测试硬盘读性能的常用工具-hdparm和dd俩搭档

                                           作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.hparm        # 它用来在基于 Linux的系统上获取或设置硬盘参数,包括测试读性能以及缓存性能等。

1>.安装hdparm工具

[root@node105 ~]# yum -y install hdparm

2>.查看帮助信息

[root@node105 ~]# hdparm -h

-a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。

-A<0或1> 启动或关闭读取文件时的快取功能。   
-c<I/O模式> 设定IDE32位I/O模式。   
-C 检测IDE硬盘的电源管理模式。   
-d<0或1> 设定磁盘的DMA模式。   
-f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。   
-g 显示硬盘的磁轨,磁头,磁区等参数。   
-h 显示帮助。   
-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。   
-I 直接读取硬盘所提供的硬件规格信息。   
-k<0或1> 重设硬盘时,保留-dmu参数的设定。   
-K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。   
-m<磁区数> 设定硬盘多重分区存取的分区数。   
-n<0或1> 忽略硬盘写入时所发生的错误。   
-p<PIO模式> 设定硬盘的PIO模式。   
-P<磁区数> 设定硬盘内部快取的分区数。   
-q 在执行后续的参数时,不在屏幕上显示任何信息。   
-r<0或1> 设定硬盘的读写模式。   
-S<时间> 设定硬盘进入省电模式前的等待时间。   
-t 评估硬盘的读取效率。   -T 评估硬盘快取的读取效率。   
-u<0或1> 在硬盘存取时,允许其他中断要求同时执行。   -v 显示硬盘的相关设定。   
-W<0或1> 设定硬盘的写入快取。   -X<传输模式> 设定硬盘的传输模式。   
-y 使IDE硬盘进入省电模式。   -Y 使IDE硬盘进入睡眠模式。   
-Z 关闭某些Seagate硬盘的自动省电功能。

3>.显示硬盘的相关信息(可以使用 “fdisk -l” 来查看磁盘信息 )

[root@kafka118 ~]# hdparm /dev/sda

4>.评估硬盘的读取效率

[root@kafka118 ~]# hdparm -t /dev/sda

5>.测试硬盘缓存的读取速度

[root@kafka118 ~]# hdparm -T /dev/sda

6>.直接测试硬盘的读性能

[root@kafka118 ~]# hdparm -tT --direct /dev/sda

7>.查看DMA情况

[root@kafka118 ~]# hdparm -cdt /dev/sda

二.dd           # 使用time命令和dd命令可以简单测试硬盘的写速率

  这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度作一个简单的评估.

1>.准备测试环境

[root@flume115 ~]# cat /etc/redhat-release           #操作系统是CentOS 7.5
CentOS Linux release 7.5. (Core)
[root@flume115 ~]#
[root@flume115 ~]#
[root@flume115 ~]# uname -r                #内核是3.10.0-862.el7.x86_64
3.10.-.el7.x86_64
[root@flume115 ~]#
[root@flume115 ~]#
[root@flume115 ~]# uname -m                #查看操作系统的架构
x86_64
[root@flume115 ~]#
[root@flume115 ~]#
[root@flume115 ~]# free -h                #查看内存,相比大家也看出来了,我的测试环境是32G内存
total used free shared buff/cache available
Mem: 31G 489M 29G 20M .3G 30G
Swap: 15G 0B 15G
[root@flume115 ~]#
[root@flume115 ~]# yum -y install iotop sysstat    #安装必要的监控IO的工具,即iotop和iostat

2>.测试写入50G数据,数据量越大,测试值应该更精确(测试过程中,需要关注两点,磁盘的读写速度和IO使用率,我们分别使用iopp和iostat工具来观察。)

[root@flume115 ~]# time -p bash -c "(dd if=/dev/zero of=/home/yinzhengjie/dd.log  bs=1M count=50000)"

3>.执行上述命令后,使用iotop观察占用的I/O情况

[root@flume115 ~]# iotop -o

4>.执行上述命令后,使用iostat观察占用的I/O情况

[root@flume115 ~]# iostat -x 

 4>.验证测试结果

[root@flume115 ~]# time -p bash -c "(dd if=/dev/zero of=/home/yinzhengjie/dd.log  bs=1M count=50000)"
+ records in
+ records out
bytes ( GB) copied, 243.346 s, MB/s
real 244.49
user 0.05
sys 34.66
[root@flume115 ~]#

Linux测试硬盘读性能的常用工具-hdparm和dd俩搭档的更多相关文章

  1. Linux测试硬盘读性能的常用工具-hdparm

    通常情况下可以使用fdisk.df等命令查看硬盘的分区情况以及当前已使用空间大小.剩余空间大小等信息.但是如果要查看硬盘的硬件信息如 硬盘型号.序列号.已运行时间等信息该用什么工具查看呢? 在Linu ...

  2. 分布式进阶(十) linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel

    linux命令行下载文件以及常用工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 本文介绍常用的几种命令行式的下载工具:wget.Prozilla.MyGet.Li ...

  3. 后台故障&性能分析常用工具

    说明 本文是一个归纳总结,把常用的一些指令,及它们常用的option简单记录了一下,目的是当我们需要工具去定位问题的时候,能够从中找到合适的工具,具体的用法网上有很多博文了,当然还有man手册.参考了 ...

  4. linux操作系统下的码农常用工具

    IDE: Pycharm PHPStorm Zend Studio 文本编辑器: VIM Sublime Text 版本管理: svn RapidSVN git git ui 文件对比: Meld D ...

  5. java性能优化常用工具jmap、jstack

    jmap:java内存映像工具 jmap用于生成堆转储快照,比较常用的option包括-heap,-histo,-dump [root@localhost script]# jmap -h Usage ...

  6. influx测试——单条读性能很差,大约400条/s,批量写性能很高,7万条/s,总体说来适合IOT数据批量存,根据tag查和过滤场景,按照时间顺序返回

    测试准备 需要将InfluxDB的源码放入 go/src/github.com/influxdata 目录 单写测试代码(write1.go): package main import ( " ...

  7. Linux入门视频笔记三(常用工具集)

    一.全局变量(Linux中的全局变量指在整个系统中都能用的变量) 1.USER:当前登录系统的用户的用户名 2.HOME:当前用户的主目录 cd $HOME 或 cd ~可以进入用户主目录 3.PAT ...

  8. java性能优化常用工具jps、jstat、jinfo

    jps:虚拟机进程状况工具 jps可以用来查看虚拟机进程,基本等同于ps -ef|grep java #查看jps的使用文档 [root@localhost script]# jps -help us ...

  9. 使用FIO工具测试块存储性能

    Linux实例和Windows实例都推荐使用FIO工具测试块存储性能.   说明 您也可以使用其他工具测试块存储性能,但不同工具测试出来的硬盘基准性能会有差异,如dd.sysbench.iometer ...

随机推荐

  1. topjui中combobox使用

    1.创建combobox的方法 常用的一种是通过Js定义,一种是通过在input输入框中定义,还有一种通过在selete标签中定义,可以去看easyui的官方文档 http://www.jeasyui ...

  2. Docker 镜像仓库

    仓库 仓库(Repository)是集中存放镜像的地方. 一个容易混淆的概念是注册服务器(Registry).实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜 ...

  3. 创建DVWA环境时遇到的问题

    前言:我下载了PHP Study,也按照步骤下载保存了DVWA,之后我又按照百度的准备登陆检查是否正确安装DVWA,于是,我登录了百度上查到的链接:http://localhost/DVWA-mast ...

  4. 三 Struts2 添加返回数据

    一.struts2如何获取servletAPI1.解耦和的方式获取封装后的Map对象,这种获取的map对象只有存取数据的功能. Map request = (Map) ActionContext.ge ...

  5. Redtiger SQL注入练习(一)

    感觉会的东西太少了,以后要多练习,多写博客.要坚持学习,一定不能放弃,为梦想奋斗. redtiger  这个平台早就开始做了,但是才做到第4关.... 第一关: 打开题, 先随便试,后来发现点击 Ca ...

  6. 【Windows】+ win10 通过KMS激活

    win10激活到期 通过KMS再次激活(亲测有效):http://www.xitongcheng.com/jiaocheng/win10_article_44435.html

  7. [Unity优化]批处理04:MaterialPropertyBlock

    参考链接: https://blog.csdn.net/liweizhao/article/details/81937590 1.在场景中放一些Cube,赋予一个新材质,使用内置shader(Unli ...

  8. centOS中mysql一些常用操作

      安装mysqlyum -y install mysql-server 修改mysql配置vi /etc/my.cnf 这里会有很多需要注意的配置项,后面会有专门的笔记暂时修改一下编码(添加在密码下 ...

  9. k8s简单的来部署一下tomcat,并测试自愈功能

    前言: 2018年12月6日 今天终于把k8s运行tomcat打通了,耗了我几天时间一个一个坑踩过来,不容易啊,废话不多说. 先记录一些操作时的错误: <<<<<< ...

  10. Android技术框架——Dagger2

    Dagger2 是一个Android依赖注入框架.没错依赖注入,学习过spring的同学看到这词,应该是挺熟悉的.当然既然是Android的课题,我们就来聊聊Dagger2 ,android开发当前非 ...