監視サービスを利用せずに、でサーバーの転送量を簡単に把握したい場合のコマンド例。
$ watch -d -n 1 "awk '\$1==\"eth0:\" {printf \"rx: %fMB tx:%fMB\n\", \$2/1024/1024, \$10/1024/1024}' < /proc/net/dev"
Every 1.0s: awk '$1=="eth0:" {printf "rx: %fMB tx:%fMB\n", $2/1024/1024, $10/1024/1024}' < /proc/net/dev Wed Dec 2 19:50:40 2020
rx: 12077.659203MB 8547.6927MB
watch
で後述するコマンドを繰り返して実行する。
watch -d
で繰り返し実行するコマンドの結果の差分がわかるように表示する。 watch -n 1
は 秒ごとにコマンドを実行するオプション。5 秒ごとに実行したい場合は、watch -n 5
と入力する。
awk '$1=="eth0:" {printf "rx: %fMB tx:%fMB\n", $2/1024/1024, $10/1024/1024}' < /proc/net/dev
は /proc/net/dev
ファイルの内容を読み込み、区切り文字で分割された 1 番目の文字列が eth0:
と一致する行の場合に、2 番目と 10 番目の区切り文字を 2 回 1024 で割って (MB単位で) 表示する内容となる。
eth0: は監視をしたいネットワークインターフェース名を任意で選択できる。