ローカルインターフェイスを介して特定のリンクの帯域幅、遅延、ジッタと衝突、ビットエラー率、パケット損失率を取得する方法はありますか?
私のコンピュータが2つのインターフェイスを介してネットワークに接続されているとしましょう。 1つはワイヤレスで、もう1つはイーサネットです。私はこの測定値を使用してこれら2つのリンクの品質を比較したいと思います。
Linuxカーネルでこれらの測定値を取得する方法はありますか? (セクション 3.5.0)
ベストアンサー1
特に、どのディストリビューションを使用しているのか、どのように詳細な結果が欲しいのかわからない場合は、詳細全体を提供することは困難です。だから、いくつかリストします。非常に基本的なはい。
各インターフェイスの個別の統計を取得するには、各プロジェクトを個別に分類できます(次はCentOSなどのディストリビューションへのルートアクセスを想定しています)。
~のため帯域幅使い方 - 私はiftopが本当に好きです。インストールが完了したら、iftop
次のコマンドを実行できます。
iftop -i eth0 -B
-B オプションはバイト用です。累積iftop
合計を取得するには、「T」を押すのが大好きです。
~のためエラー率ifconfig
コンソール出力でこれを簡単に確認できます。より簡素化されたアプローチのために、以下を実行できます。非常に失礼なコマンド次のように(Centosのように仮定):
# ifconfig | grep -E "^\w|errors.* " | sed 's/pack.*errors:/Errors:/g' | sed 's/ drop.*//g' | sed 's/HW.*//g'
eth0 Link encap:Ethernet
RX Errors:0
TX Errors:0
eth1 Link encap:Ethernet
RX Errors:3
TX Errors:1
lo Link encap:Local Loopback
RX Errors:0
TX Errors:0
これにより、インターフェイスごとのエラー数が提供されます。
~のため衝突あなたはまだそれを使用することができますifconfig
。衝突回数を得るために別基本コマンド次のように:
# ifconfig | grep -E "^\w|collisions.* " | sed 's/pack.*collisions:/Collisions:/g' | sed 's/ txq.*//g' | sed 's/HW.*//g'
eth0 Link encap:Ethernet
collisions:0
eth1 Link encap:Ethernet
collisions:0
lo Link encap:Local Loopback
collisions:0
~のため落ちるまだ使用されているパケットに対してifconfig
別の簡単なコマンドを実行できます。
# ifconfig | grep -E "^\w|dropped.* " | sed 's/pack.*dropped:/Dropped:/g' | sed 's/ over.*//g' | sed 's/HW.*//g'
eth0 Link encap:Ethernet
RX Dropped:0
TX Dropped:0
eth1 Link encap:Ethernet
RX Dropped:1
TX Dropped:0
lo Link encap:Local Loopback
RX Dropped:0
TX Dropped:0
誤ったパケット(エラー、競合、または破棄)が多い場合は、前の3つのコマンドをbashスクリプトに入れて、watch
次を使用して監視できます。
ファイル/tmp/netエラー:
#!/bin/sh
ifconfig | grep -E "^\w|errors.* " | sed 's/pack.*errors:/Errors:/g' | sed 's/ drop.*//g' | sed 's/HW.*//g'
echo
ifconfig | grep -E "^\w|collisions.* " | sed 's/pack.*collisions:/Collisions:/g' | sed 's/ txq.*//g' | sed 's/HW.*//g'
echo
ifconfig | grep -E "^\w|dropped.* " | sed 's/pack.*dropped:/Dropped:/g' | sed 's/ over.*//g' | sed 's/HW.*//g'
echo
注文する:
watch /tmp/netErrors
~のためサービス品質、実際に設定方法によって異なります。 Linuxの場合、traffic control
通常はQoSを設定するために使用されます。現在のQoSを表示するには、traffic control
次のコマンドを実行します。
# tc qdisc ls
qdisc pfifo_fast 0: dev eth0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev tun0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
tc - フロー制御コマンド qdisc - キュー規則 ls - リスト
より良い理解を得るには、次のtraffic control
リンクを確認する必要があります。交通管理について。