• 系统io统计


     
    $ cat /proc/diskstats
       8       0 sda 61956814 17784 10611545630 25247251 81500542 90293241 18537974922 158892176 0 19476563 183932800
       8       1 sda1 36834 0 711618 8857 1066794 1088773 4311554 5979 0 10784 14759
       8       2 sda2 61919793 17784 10610832348 25238366 80433748 89204468 18533663368 158886197 0 19467225 183912764
     253       0 gg-0 5623688 0 126996682 1287038 20634674 0 185895864 1189423 0 1248510 2481206
     253       1 gg-1 128 0 2136 15 0 0 0 0 0 15 15
     253       2 gg-2 56342914 0 10483832346 23884963 149036514 0 18347767504 183502049 0 18282017 207482318 主号    次号  名称 成功读 合并读      扇区读    读时间
     

    每一列的含义分别为:

    • 第一列为 设备号

    (number of issued reads. This is the total number of reads completed successfully.)

    • 第二列为 次设备号

    (number of reads merged)

    • 第三列为 设备名称

    (number of sectors read. This is the total number of sectors read successfully.)

    • 第四列为 成功完成读的总次数

    (number of milliseconds spent reading. This is the total number of milliseconds spent by all reads (as measured from __make_request() to end_that_request_last()).)

    • 第五列为 合并读次数,为了效率可能会合并相邻的读和写,从而两次4K的读在它最终被处理到磁盘上之前可能会变成一次8K的读,才被计数(和排队),因此只有一次I/O操作。

    (number of writes merged Reads and writes which are adjacent to each other may be merged for efficiency. Thus two 4K reads may become one 8K read before it is ultimately handed to the disk, and so it will be counted (and queued) as only one I/O. This field lets you know how often this was done.)

    • 第六列为 读扇区的次数

    • 第七列为 读花的时间(ms),这是所有读操作所花费的毫秒数(用__make_request()到end_that_request_last()测量)

    • 第八列到第十一列分别是写

    • 第十二列为 I/O的当前进度,只有这个域应该是0,如果这个值为0,同时write_complete read_complete io_processing 一直不变可能就就是IO hang了。

    number of I/Os currently in progress. The only field that should go to zero. Incremented as requests are given to appropriate request_queue_t and decremented as they finish.)

    • 第十三列为 输入输入花的时间(ms),花在I/O操作上的毫秒数,这个域会增长只要field 9不为0。

    (number of milliseconds spent doing I/Os. This field is increased so long as field 9 is nonzero.)

    • 第十四列为 输入/输出操作花费的加权毫秒数,

    (number of milliseconds spent doing I/Os. This field is incremented at each I/O start, I/O completion, I/O merge, or read of these stats by the number of I/Os in progress (field 9) times the number of milliseconds spent doing I/O since the last update of this field. This can provide an easy measure of both I/O completion time and the backlog that may be accumulating.)

    可以参考:

      The /proc/diskstats file displays the I/O statistics
        of block devices. Each line contains the following 14
        fields:
         1 - major number
         2 - minor mumber
         3 - device name
         4 - reads completed successfully
         5 - reads merged
         6 - sectors read
         7 - time spent reading (ms)
         8 - writes completed
         9 - writes merged
        10 - sectors written
        11 - time spent writing (ms)
        12 - I/Os currently in progress
        13 - time spent doing I/Os (ms)
        14 - weighted time spent doing I/Os (ms)

    /sys/block/device_name/stat的输出和上面各个字段是一样的。

  • 相关阅读:
    利用STM32播放音乐
    在MDK中使用$Sub$$和$Super$$的记录
    printf函数输出格式控制记录
    I2C软件实现
    C语言单项链表
    CreateEvent函数使用记录
    C语言宏定义使用记录
    GIT推送本地数据到远程空仓库
    2020-ECCV-Local Correlation Consistency for Knowledge Distillation阅读笔记
    2020-ECCV-Feature Normalized Knowledge Distillation for Image Classfication阅读笔记
  • 原文地址:https://www.cnblogs.com/igoodful/p/11686564.html
Copyright © 2020-2023  润新知