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. .net DLL版本管理

    每个DLL打上版本号,方便识别维护

  2. 启动期间的内存管理之bootmem_init初始化内存管理–Linux内存管理(十二)

    1. 启动过程中的内存初始化 首先我们来看看start_kernel是如何初始化系统的, start_kerne定义在init/main.c?v=4.7, line 479 其代码很复杂, 我们只截取 ...

  3. spring3:多数据源配置使用

    0. properties ####################################mysql########################################### d ...

  4. LeetCode算法题-N-ary Tree Preorder Traversal(Java实现)

    这是悦乐书的第268次更新,第282篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第135题(顺位题号是589).给定一个n-ary树,返回其节点值的前序遍历.例如,给定 ...

  5. 【笔记】基于Python的数字图像处理

    [博客导航] [Python相关] 前言 基于Python的数字图像处理,离不开相关处理的第三方库函数.搜索网络资源,列出如下资源链接. Python图像处理库到底用哪家 python计算机视觉编程— ...

  6. Disruptor-架构思维的转变

    相对于无锁技术,Disruptor对于架构思维的转变,才是其最大亮点. Pub Event 说到RingBuffer做的队列,通常都说的是“一读一写“,或者“多读一写“.而Disruptor天生是为“ ...

  7. c# 日期函数DateTime.ToString()日期的各种格式

    //c# datetime 格式化 DateTime dt = DateTime.Now; //2017/11/14 10:46:56 label1.Text = dt.ToString();//20 ...

  8. linux 网卡的混杂模式的取消

    1.Linux下网卡常用的几种模式说明: 广播方式:该模式下的网卡能够接收网络中的广播信息. 组播方式:设置在该模式下的网卡能够接收组播数据. 直接方式:在这种模式下,只有目的网卡才能接收该数据. 混 ...

  9. Spring-boot使用eclipse搭建项目(一)

    https://blog.csdn.net/qq_37421862/article/details/80484625

  10. shell杀死指定端口的进程

    杀死端口代码如下: lsof -i: kill - PID 上面的与下面的代码作用相同. 命令如下所示(这种方式更自动化): kill - $(netstat -nlp | grep : | awk ...