1秒を超える頻度でディスクとネットワークIOを測定する方法は?

1秒を超える頻度でディスクとネットワークIOを測定する方法は?

CPU、ディスク、ネットワークリソースを使用するいくつかの実験を実行しています。 (参考までに私はCent OS 7を使用しています。)CPU、ディスク、ネットワークリソースの使用量を測定したいと思います。

私が知っているいくつかのツール(dstat、iostat)は、2つの測定の間の最小間隔で1秒しか提供しません。

1秒で複数の測定を実行するには?たくさん見ましたが見つかりません。

ありがとう

ベストアンサー1

誰かがあなたが望むことをすることができるツールを教えてくれることを願っています。そうでない場合は、ソースから直接データをインポートできると約束します。iostat主に特殊ファイルを解析します。/proc/diskstatsこれらのファイルは読み取るたびに更新されます。先ほど読んだところで簡単なテストを行いました。ディスク統計毎秒数回読み取るたびに値が変更されます。

これiostat関連ファイルはマニュアルページの最後にリストされています。

/proc/statにはシステム統計が含まれています。

/proc/uptimeにはシステムの稼働時間が含まれています。

/proc/partitionsにはディスク統計が含まれています(パッチ付き2.5より前のカーネル用)。

/proc/diskstatsにはディスク統計が含まれています(2.5以降のカーネル用)。

/sysブロックデバイス統計(2.5以降のカーネル)が含まれています。

/proc/self/mountstats ネットワークファイルシステム統計が含まれます。

/dev/diskには永続デバイス名が含まれています。

これらのファイルのフィールドが表す内容に関する情報を見つけることは難しくありません。たとえば、

     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)
    For more details refer to Documentation/iostats.txt

おすすめ記事