1) 通过df -h命令查看磁盘情况

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda4             289G   61G  214G  23% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda2             969M   62M  857M   7% /boot
/dev/sda1             999M  268K  998M   1% /boot/efi
/dev/sda3             626G  8.0G  586G   2% /home

2)通过hdparm测试读取速率

[root]# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads: 542 MB in  3.01 seconds = 180.09 MB/sec

从中可以看到,平均读盘速率是180.09 MB/sec

linux下硬盘读写速度测试

1. 测试读取速度

haparm -Tt /dev/xxx
1.1 获取硬盘设备名称:

fdisk -l

Disk /dev/xvdf: 365.0 GB, 365041287168 bytes

255 heads, 63 sectors/track, 44380 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

1.2 测试硬盘读取速度

hdparm -tT /dev/xvdf

/dev/xvdf:

Timing buffered disk reads: 962 MB in 3.00 seconds = 320.56 MB/sec

1.3 硬盘读取速度测试结果
1.3.1 台式物理机

spec: 7200转硬盘

hdparm -tT /dev/sda

/dev/sda:
    Timing cached reads: 7650 MB in 2.00 seconds = 3829.28 MB/sec
    Timing buffered disk reads: 296 MB in 3.02 seconds = 98.05 MB/sec

1.3.2 VmWare虚拟机

host spec: 7200转硬盘

hdparm -tT /dev/sda

/dev/sda:
    Timing cached reads: 11396 MB in 2.00 seconds = 5704.37 MB/sec
    Timing buffered disk reads: 648 MB in 3.09 seconds = 209.45 MB/sec

1.3.3 amazon EC2上虚拟机

Instance type: m1.large

hdparm -tT /dev/xvdf

/dev/xvdf:
    Timing cached reads: 5830 MB in 1.99 seconds = 2923.38 MB/sec
    Timing buffered disk reads: 950 MB in 3.00 seconds = 316.61 MB/sec

2. 测试写速度
2.1 测试方法

使用time命令和dd命令可以简单测试硬盘的写速率
2.2. 硬盘读取速度测试结果
2.2.1 台式物理机

spec: 7200转硬盘

time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file
    1000000+0 records in
    1000000+0 records out
    1024000000 bytes (1.0 GB) copied, 9.78201 s, 105 MB/s

real 0m9.806s
    user 0m0.236s
    sys 0m3.120s

1.3.2 VmWare虚拟机

host spec: 7200转硬盘

time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file
    1000000+0 records in
    1000000+0 records out
    1024000000 bytes (1.0 GB) copied, 13.533 s, 75.7 MB/s

real 0m13.605s
    user 0m0.113s
    sys 0m3.077s

1.3.3 amazon EC2上虚拟机

Instance type: m1.large

time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file

1000000+0 records in
    1000000+0 records out
    1024000000 bytes (1.0 GB) copied, 22.6497 s, 45.2 MB/s

real 0m23.785s
    user 0m0.504s
    sys 0m5.888s

3. 总结
        物理机        VmWare虚拟机        Amazon虚拟机   
  读速度       105     209.45     316.61
  写速度     105     75.7     45.2

4. 附录

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硬盘的自动省电功能。

测试linux下磁盘的读写速率的更多相关文章

  1. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  2. linux下磁盘占用达到100%了,找不到哪些大文件耗尽了磁盘

    Linux下的根分区使用率100%,但是查看/分区下的目录都不大,没有占用满,这该怎么处理? 重启是肯定有效的,目前处理情况:重新restart应用后,空间释放出来 1.lsof | grep del ...

  3. Linux下按扇区读写块设备

    本文介绍Linux下按扇区读写块设备(示例TF卡),实际应用是在Android系统上,主要方法如下: 1.找到sdcard的挂载点,在android2.1系统下应该为/dev/block/mmcblk ...

  4. 20155322 2017-2018-1《信息安全系统设计》第二周 课堂测试 Linux下C语言实现MYOD

    20155322 2017-2018-1<信息安全系统设计>第二周 课堂测试 Linux下C语言实现MYOD [博客目录] 静态库测试 实现方法 相关资料 操作 动态库测试 实现方法 相关 ...

  5. Linux下磁盘管理命令df与du

    Linux下磁盘管理命令df与du  对磁盘进行查看和控制的两个linux命令,df和du.  一.du命令 首先看一下du的help说明: [root@misdwh opt]# du --help ...

  6. linux 下查看网卡工作速率

    [root@hadoop058 ~]# mii-tool eth0: negotiated 100baseTx-FD, link ok 100M linux 下查看网卡工作速率 Ethtool是用于查 ...

  7. Linux下磁盘分区、挂载、卸载操作记录

    Linux下磁盘分区.挂载.卸载操作记录. 操作环境:CentOS release 6.5 (Final) Last :: from 118.230.194.76 [root@CentOS ~]# [ ...

  8. Windows/Linux下磁盘使用的图形化工具简介

    Windows/Linux下磁盘使用的图形化工具简介   如何以图形界面查看磁盘及分区的大小及剩余容量呢?今天我为大家介绍两款Windows/Linux下磁盘使用的图形化工具分别是Spacesniff ...

  9. Linux下unix socket 读写 抓包

    Linux下unix socket 读写 抓包-ubuntuer-ChinaUnix博客 http://blog.chinaunix.net/uid-9950859-id-247877.html

随机推荐

  1. 获取本机的IP地址和mac地址

    1. 以前一直用ipconfig来查看ip地址,哈哈哈,现在发现挺好玩 #获取本机的IP地址和mac地址 import uuid import socket def get_mac_address() ...

  2. python 工厂方法

    工厂方法模式(FACTORY METHOD)是一种常用创建型设计模式,此模式的核心精神是封装类中变化的部分,提取其中个性化善变的部分为独立类, 通过依赖注入以达到解耦.复用和方便后期维护拓展的目的. ...

  3. 【Win10】系统修改

    1.删除“快速访问”[操作说明]      a.打开HKEY_CLASSES_ROOT\CLSID\{679f85cb-0220-4080-b29b-5540cc05aab6}\ShellFolder ...

  4. MySQL-CentOS7上安装Mysql5.7

    #安装 wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm .noarch.rpm yum instal ...

  5. MySQL创建用户和加限权

    目录 1.权限管理 1.1对新用户增删改 1.2对当前的用户授权管理 1.权限管理 ​ 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete ...

  6. 数据库开发-Django ORM的多对多查询

    数据库开发-Django ORM的多对多查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.联合主键问题 CREATE TABLE `employees` ( `emp_no` ...

  7. PHP编程实现阳历转换为阴历的方法

    php类: 2 /** 3 *PHP编程实现阳历转换为阴历的方法 4 *根据实际情况所需进行调用 5 * 6 / 7 10 <?php class Lunar { public $MIN_YEA ...

  8. 用IntelliJ IDEA学习Spring--创建一个简单的项目

    这段时间想学习一下Spring,其实之前学过Spring,只是有些忘记了.而且之前学的时候是适用eclipse学习的,现在好像对IntelliJ这个工具使用挺多的,现在就学习一下这个工具的用法,顺便复 ...

  9. .NET Core项目修改project.json来引用其他目录下的源码等文件的办法 & 解决多框架时 project.json 与 app.config冲突的问题

    作者: zyl910 一.缘由 项目规模大了后,经常会出现源码文件分布在不同目录的情况,但.NET Core项目默认只有项目目录下的源码文件,且不支持“Add As Link”方式引入文件.这时需要手 ...

  10. webpack脚手架增加版本号

    1.product模式下,新增版本号: 1)common.js文件中,输出的文件路径要跟着变化 output: { filename: 'js/[name].js', path: path.resol ...