GNU/Linux >> Linux の 問題 >  >> Linux

各接続の帯域幅の使用状況を確認する方法は?

プロセスごとの帯域幅情報を取得するには、ネットワーク監視システムをインストールする必要がありますが、利用できるツールは多数あります。

セットアップの容易さの順:

多くのセットアップを必要としない単純なパッケージは iftop です。これにより、プロセスごとの帯域幅が表示されます。 シンプルなリアルタイム ソリューションが必要な場合は、おそらくこれが必要です。

  • インターフェースごとの帯域幅を取得するには、bwm-ng インターフェースごとのリアルタイムの使用状況を表示する小さなパッケージです。
  • netstat 開いている接続が一覧表示され、ほとんどのシステムに既に存在するはずです
  • ntop は、ネットワーク監視をサポートするカーネル モジュールをインストールすると、プロセスごとの TCP 接続も監視できるシステム監視用の非常に便利なツールです。
  • Gacti、nagios、ntop、および ganglia は、1 台のサーバーからエンタープライズ ネットワーク全体へのセットアップに応じて、ホスト、システム、サービス、プロトコルなどごとにネットワーク監視を実行できる、いくつかのより重いシステムです。 ganglia の実際の例については、mediawiki サーバー監視を参照してください。 行動中。

ネイティブ netstat を使用した 5 秒間隔でのリアルタイムの使用状況の連続ポーリング

netstat --interfaces=eth0 -c 5

カーネル インターフェイス テーブル

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 601670041 0 0 0 290653338 0 0 0 BMRU

eth0 1500 0 601796657 0 0 0 290721761 0 0 0 BMRU

awk を使用すると、関心のある特定のフィールドを監視できます。以下の例では、2 つの RX 列と TX 列を監視するだけで、エラーなしで受信または送信されたパケットの数が表示されます (RX-OK/TX-OK)

netstat --interfaces=eth0 -c 5 |awk '{ print $4 "\t" $8 }'

RX-OK TX-OK

605142559 292429624

605142595 292429661


nethogs と呼ばれる単純なパッケージがあります。 、個々のプロセスによって使用される帯域幅を示し、リストを並べ替えて、最も集中的なプロセスを一番上に置きます。

# Ubuntu or Debian
$ sudo apt install nethogs

# Fedora or CentOS
$ sudo yum install nethogs -y

Linux
  1. LinuxでFlatpakをインストールして使用する方法

  2. LinuxでTracerouteをインストールして使用する方法

  3. ssh ControlMaster 接続が使用されているかどうかを確認する方法

  1. KubernetesにHelmをインストールして使用する方法

  2. Linux Screenをインストールして使用する方法は?

  3. Debian9にNetdataPerformanceMonitoringToolをインストールして使用する方法

  1. LinuxにPuTTYをインストールして使用する方法

  2. LinuxでphpMyAdminをインストールして使用する方法

  3. UbuntuにRをインストールして使用する方法