Linux基礎

【RHEL/CentOS】NW速度確認 ifstat の見方 ~RX,TXやData/Rateの意味は?~

ifstat コマンドでネットワーク速度を調査する

稼働中の Linux サーバでリアルタイムのネットワーク速度を確認したい、というときには ifstat コマンドが使えます。CentOS 8 や RedHat Enterprise Linux 8 等にデフォルトでインストールされています。

ifstat の見方

[root@localhost ~]# ifstat
#kernel
Interface        RX Pkts/Rate    TX Pkts/Rate    RX Data/Rate    TX Data/Rate
                 RX Errs/Drop    TX Errs/Drop    RX Over/Rate    TX Coll/Rate
lo                     0 0             0 0             0 0             0 0
                       0 0             0 0             0 0             0 0
enp0s3               173 0           113 0         32714 0         11741 0
                       0 0             0 0             0 0             0 0
[root@localhost ~]#

ヘッダの見方は以下のようになります。

  • RX = 受信 (Receive)
  • TX = 送信 (Transmit)
  • Pkts = パケット数
  • Rate = (常に 0 が表示される)
  • Data = 通信量 (Bytes, 前回コマンド実行時からの差分)
  • Errs = CRC エラーのパケット数
  • Drop = Drop となったパケット数
  • Over = Overrun となったパケット数
  • Coll = Collision (コリジョン) となったパケット数

速度 (スループット) を見る場合は Data に着目しますが、ポイントとしては、Data は前回コマンド実行時からの差分であることです。つまり前回の ifstat 実行から何秒経過したかによって速度計算は異なります。

例えば ifstat を一度実行し、8 秒後に再び ifstat を実行した結果が上記だったとすると、その 2 秒の間の受信 (RX) の平均速度は

32714 [Bytes] * 8 [bits/Bytes] / 8 [sec] = 32,714 bps ≒ 32.7 Kbps

となります。

もし 1 秒間隔で実行した結果だったとすれば

32714 [Bytes] * 8 [bits/Bytes] = 261.7 Kbps

となります。

なので以下のコマンド等で 1 秒間隔で実行すれば、表示された値を 8 倍するだけで bps 速度が分かります。

# watch -n 1 ifstat

なお、前回実行時の情報は /tmp/.ifstat.u$UID に保存されています。

また、drop や over, coll 等についての詳細は以下をご参照下さい。

Linuxのインタフェースのエラーカウンタの状態確認と原因 〜dropped, overrun, frame, carrier等~
Linuxのインタフェースのエラーカウンタ等の確認コマンド Linuxの通信速度...

 

コメント

タイトルとURLをコピーしました