zoukankan      html  css  js  c++  java
  • linux检测磁盘读写速度

    环境:centos7

    1、查看当前系统读写情况

    yum -y install iotop    #安装iotop工具
    [root@demod ~]# iotop
    Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
    Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
      TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                              
        1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 21
        2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
        3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    注:DISK TEAD:n=磁盘读/每秒              DISK WRITE:n=磁盘写/每秒。

    2、dd命令解析

    Usage: dd [OPERAND]...  #用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
    if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
    of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
    ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
    obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
    bs=bytes:同时设置读入/输出的块大小为bytes个字节。
    cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
    skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
    seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
                 注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
    count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
    conv=conversion:用指定的参数转换文件。

    3、dd常用命令

    dd if=/dev/hdb of=/dev/hdd  #将本地的/dev/hdb整盘备份到/dev/hdd
    dd if=/dev/hdb of=/root/image #将/dev/hdb全盘数据备份到指定路径的image文件
    dd if=/root/image of=/dev/hdb #将备份文件恢复到指定盘
    dd if=/dev/hdb | gzip > /root/image.gz  #备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径
    gzip -dc /root/image.gz | dd of=/dev/hdb #将压缩的备份文件恢复到指定盘
    dd if=/dev/urandom of=/dev/hda1 # 销毁磁盘数据
    注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。

    4、磁盘io速度测试

    测试硬盘的读写速度
    dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
    dd if=/root/1Gb.file bs=64k | dd of=/dev/null
    
    [root@demod ~]# time dd if=/dev/zero of=test.dbf bs=8k count=300000   #写的速度oflag=direct
    300000+0 records in
    300000+0 records out
    2457600000 bytes (2.5 GB) copied, 59.7324 s, 41.1 MB/s
    real    0m59.808s
    user    0m0.732s
    sys     0m41.455s
    
    [root@demod ~]# time dd if=test.dbf bs=8k count=300000 of=/dev/null  #读取速度
    300000+0 records in
    300000+0 records out
    2457600000 bytes (2.5 GB) copied, 483.994 s, 5.1 MB/s

     5、磁盘修复

    dd if=/dev/sda of=/dev/sda 或dd if=/dev/hda of=/dev/hda
    当硬盘较长时间(一年以上)放置不使用后,磁盘上会产生magnetic flux point,当磁头读到这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数 据起死回生。并且这个过程是安全、高效的。
    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    SGU 271 Book Pile (双端队列)
    POJ 3110 Jenny's First Exam (贪心)
    HDU 4310 Hero (贪心)
    ZOJ 2132 The Most Frequent Number (贪心)
    POJ 3388 Japanese Puzzle (二分)
    UVaLive 4628 Jack's socks (贪心)
    POJ 2433 Landscaping (贪心)
    CodeForces 946D Timetable (DP)
    Android Studio教程从入门到精通
    Android Tips – 填坑手册
  • 原文地址:https://www.cnblogs.com/wukc/p/13491308.html
Copyright © 2011-2022 走看看