linux系统hparm硬盘写性能,Linux测试硬盘读性能的常用工具-hdparm和dd俩搭档

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

作者:尹正杰

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

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

1>.安装hdparm工具

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

e1e80beb66bb3417e5c0eb6528c9fc23.png

2>.查看帮助信息

[root@node105 ~]# hdparm -h

6eb67f8e482efc4c6eb4ed5e679611da.png

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

-A<0或1> 启动或关闭读取文件时的快取功能。

-c 设定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模式。

-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

08fb145d24666dd5b9a3fa80c58e9687.png

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

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

b6879d78592cc289ce0a80cb7aec6529.png

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

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

c8759d34143511d4965d893b7117bad1.png

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

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

65a7457243f1e45c35164f1efe32ba78.png

7>.查看DMA情况

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

fc4cea2f713ab1c1b488b57a7d72ceaa.png

二.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)"

34b24c479835c79a5cc53f17657a2b73.png

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

[root@flume115 ~]# iotop -o

cce43a1a56407ba4f3cc941931e00f94.png

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

[root@flume115 ~]# iostat -x

5a6627eeaa7ec47749ebc4f17ac5d4fb.png

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 ~]#

86e1f5d46f86721164a8996057642737.png

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

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

分布式进阶&lpar;十&rpar; linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel

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

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

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

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

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

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

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

dd测试硬盘性能

下面直接介绍几种常见的DD命令,先看一下他的区别~ dd bs=64k count=4k if=/dev/zero of=testdd bs=64k count=4k if=/dev/zero of= ...

Linux Performance Analysis and Tools&lpar;Linux性能分析和工具&rpar;

首先来看一张图: 上面这张神一样的图出自国外一个Lead Performance Engineer(Brendan Gregg)的一次分享,几乎涵盖了一个系统的方方面面,任何人,如果没有完善的计算系统 ...

Netdata Linux下性能实时监测工具

导读 本文将介绍一款非常好用的工具——Netdata,这是一款Linux性能实时监测工具,为一款开源工具,我对其英文文档进行了翻译,水平有限,有翻译错误的地方欢迎大家指出,希望本文对大家有所帮助,谢谢 ...

linux下常见的性能分析工具

转载于:http://bian5399.blog.51cto.com/3848702/834715 性能调优的主要目的是使系统能够有效的利用各种资源,最大的发挥应用程序和系统之间的性能融合,使应用高效 ...

随机推荐

CSS3与页面布局学习笔记(四)——页面布局大全&lpar;负边距、双飞翼、多栏、弹性、流式、瀑布流、响应式布局&rpar;

一.负边距与浮动布局 1.1.负边距 所谓的负边距就是margin取负值的情况,如margin:-100px,margin:-100%.当一个元素与另一个元素margin取负值时将拉近距离.常见的功能 ...

ORACLE关于索引是否需要定期重建争论的整理

ORACLE数据库中的索引到底要不要定期重建呢? 如果不需要定期重建,那么理由是什么? 如果需要定期重建,那么理由又是什么?另外,如果需要定期重建,那么满足那些条件的索引才需要重建呢?关于这个问题,网 ...

Entity Framework 5&period;0基础系列

1.Entity Framework简介 http://www.cnblogs.com/aehyok/p/3315991.html 2.Entity Framework DBFirst尝试http:/ ...

添加Bootstrap 到MVC项目中(vs2010)

环境:Visual Studio 2010   ASP.NET MVC3 手动添加: 下载地址:http://twitter.github.com/bootstrap/ 一个js,两个css,两张图 ...

Web开发——Tomcat的配置

1.选择Tomcat 1.Apache官网http://apache.org/ 2.Tomcat官网http://tomcat.apache.org/ 3.Tomcat下载地址http://tomca ...

jQuery ajax的traditional参数的作用

一般的,可能有些人在一个参数有多个值的情况下,可能以某个字符分隔的形式传递,比如页面上有多个checkbox: ? 1 2 3 4 5 6 $.ajax{       url:"xxxx&q ...

LinkedHashMap和HashMap的比较使用(转载)

LinkedHashMap和HashMap的比较使用 ? import java.util.HashMap; import java.util.Iterator; import java.util.L ...

mybatis转义符(转)

第一种方法: 用了转义字符把>和

java多线程的理解

java多线程的理解   线程的5种状态:新建,就绪,运行,阻塞,死亡. Thread.sleep:线程  运行状态 转为  阻塞状态,(其它线程启动运行) Thread.yield:   线程 运行 ...

c&num;tcp源端口号和目的端口怎么理解

在一台机器上,一个进程对应一个端口.端口的作用就是用来唯一标识这个进程.源端口标识发起通信的那个进程,目的端口标识接受通信的那个进程.有了端口号,接受到报文后才能够知道将报文发送到哪个进程.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值