組み込みの Linux ツールを使用してコマンド ラインから現在の帯域幅使用量を取得するにはどうすればよいですか?

組み込みの Linux ツールを使用してコマンド ラインから現在の帯域幅使用量を取得するにはどうすればよいですか?

Linux マシンの現在の総帯域幅使用量を取得する良い方法を探しています。 、 を試しましたiftopnethogs、システム モニターと比較して実際の帯域幅使用量が表示されず、プロジェクトのニーズに合いません。実行すると、アップロードとダウンロードの現在の使用量のみが返されるコマンドが必要です。

また、何もインストールせずにネイティブ Linux ツールを使用して実行したいと考えています。実際、監視アプリケーションを作成しているのですが、ユーザーが監視したい各コンピューターに何かをインストールしなくてもコンピューターを監視できるようにしたいと考えています。それは素晴らしいことです。

答え1

使用iptraf-http://www.linuxcommand.org/man_pages/iptraf8.html

これは ncurses ベースのコマンドライン ユーティリティであり、帯域幅の使用状況を含む、マシン上のすべてのインターフェースの統計情報を提供できます。

答え2

使用できるツールは多数あります: 、、、、nload...出力の特定の部分だけを取得したい場合 (たとえば、アップロードやダウンロード)、出力を // して機能させることができると確信bmonしていiftopます。vnstatifstatgrepcutawk

Linux サーバー上のネットワーク帯域幅を監視する 18 個のコマンド

答え3

sysstat はネットワーク統計も収集します。「man sar」を実行すると、履歴データを保存できるすべてのリソースが表示されます。

cron にコマンド「/usr/lib/sa/sa1」(または /usr/lib64/sa/sa1)を入力して設定し、データ ポイントが必要なたびに(たとえば 5 分ごとに)実行します。

次に、「sar」を使用してデータを表示できます。デフォルトは今日です。最大 30 日間の履歴データを表示することもできます。データをアーカイブして永久に保存することもできます (各日のデータは約 8 MB です)。

ネットワークの場合は「sar -n」を使用します

素晴らしいツールです:)

例:

 testlinux:~ # sar -n DEV | head -10
 Linux 2.6.16.60-0.21-default (pCITFileSvr01)    11/07/10

 00:00:01        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
 00:05:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 00:05:01         eth0      9.95      0.12      1.42      0.02      0.00      0.00      0.00
 00:10:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 00:10:01         eth0     10.20      0.04      1.44      0.00      0.00      0.00      0.00
 00:15:01           lo      0.00      0.00      0.00      0.00      0.00       0.00      0.00
 00:15:01         eth0     10.32      0.12      1.50      0.02      0.00      0.00      0.00
 00:20:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 testlinux:~ #

答え4

少し調べてみたらこれ簡単に言えば、ネットワークの使用状況を要約するために使用するソリューションですnetstat。これが私の変更したコマンドです

netstat -e -n -i | grep wlan0  -A 5 | grep 'RX packets' |  tail -1

出力例:-

RX packets 76639  bytes 73706194 (70.2 MiB)

wlan0カードのインターフェース名を変更すると、そのコマンドの出力をさらにフィルタリングできます。例:

netstat -e -n -i | grep wlan0  -A 5 | grep 'RX packets' |  tail -1 | awk '{print $6$7}'

関連情報