プロセスごとにネットワーク帯域幅を監視する Linux ツール Nethogs のインストールと展開

プロセスごとにネットワーク帯域幅を監視する Linux ツール Nethogs のインストールと展開

概要

Linux 用のオープン ソース ネットワーク監視ツールは数多くあります。たとえば、帯域幅の使用状況を確認するには iftop を使用できます。インターフェイスの統計情報を表示するには netstat を使用し、システムで現在実行中のプロセスを監視するには top を使用します。ただし、プロセスによるネットワーク帯域幅の使用状況をリアルタイムでカウントできるツールを探している場合は、NetHogs を検討する価値があります。

NetHogs は、ほとんどのツールのように各プロトコルやサブネットを遅くするのではなく、プロセスごとに帯域幅をグループ化する小さなネットトップ ツールです。NetHogs は、特別なカーネル モジュールの読み込みに依存しません。ネットワークが混雑している場合は、NetHogs を起動して、どの PID が原因であるかをすぐに確認できます。これにより、どのプログラムが暴走して突然帯域幅を占有しているかを簡単に把握できます。

簡単に言えば、nethogs を使用して Linux 上のプロセスのトラフィックを表示できます。

インストールと展開

1. nethogs 依存パッケージをコンパイルしてインストールします。CentOS のデフォルトの rpm ウェアハウスには nethogs パッケージがないため、手動でコンパイルする必要があります。 Nethogsのコンパイルは2つのライブラリに依存しており、コンパイル前にインストールする必要があります。

# yum install libpcap libpcap-devel gcc* ncurses*

2. nethogsをダウンロードする

0.8 にはバグがあるため (ローカル IP の確立中にソケットの作成に失敗しました - ルートですか?)、ここではバージョン 0.81 が使用されます。

# wget -c 
https://github.com/raboof/nethogs/archive/v0.8.1.tar.gz 

3. コンパイルしてインストールする

# tar -xvf v0.8.1.tar.gz 
# cd nethogs-0.8.1/ 
# 作成 && インストール

#デフォルトのインストールパスは/usr/local/sbin/nethogsです

4. テスト実行:

# nethogs

使用法

1. コマンドラインパラメータ

2. 例:

例 1: リフレッシュ レートを 5 秒に設定し、-d を使用してリフレッシュ レートを指定します # nethogs -d 5 
例 2: eth0 ネットワーク帯域幅を監視する # nethogs eth0 
例 3: eth0 と eth1 インターフェースを同時に監視する # nethogs eth0 eth1 

3. 対話型コマンド:

以下は、NetHogs の対話型コマンド (キーボード ショートカット) の一部です。

m : 単位の変更

r : トラフィック順に並べ替え

s : 送信トラフィックで並べ替え

q : コマンドプロンプトを終了

NetHogs コマンドライン ツールのパラメータの完全なリストについては、NetHogs マニュアルを参照してください。これを使用するには、ターミナルでman nethogsと入力します。

要約する

上記は、編集者がプロセスごとにネットワーク帯域幅を監視するために紹介した Linux ツール Nethogs です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux運用保守ツールSupervisor(プロセス管理ツール)のインストールと使用
  • Linux でのプロセスデーモン スーパーバイザーのインストール、構成、および使用
  • Supervisor のインストールと構成の詳細な説明 (Linux/Unix プロセス管理ツール)
  • PHPプログラマーはスーパーバイザーを使用してデーモンプロセスを実装するLinuxシリーズをプレイします
  • Linux コマンドライン ツールを使用して JSON 出力を解析およびフォーマットする方法
  • 開発者とオペレーターが注目すべき Linux デバッグ ツール [推奨]
  • Linuxでスクリーンショットを撮って編集するための最高のツール
  • Linux プロセス管理ツール スーパーバイザーのインストールと設定のチュートリアル

<<:  WindowsシステムでMySQLデータベースを完全にアンインストールして、MySQLを再インストールします

>>:  Vueの使用に関する深い理解

推薦する

Docker x509 の安全でないレジストリ問題を解決する

Docker をインストールした後、会社が構築したプライベート サーバー Harbor からプルしよ...

ウェブフロントエンドに対する一般的な攻撃とその防止方法

ウェブサイトのフロントエンド開発で発生するセキュリティ問題は、クライアントブラウザで実行されるコード...

Vue はユーザーのログイン状態を維持します (さまざまなトークン保存方法)

目次クッキーの設定方法クッキーのデメリット: LocalStorage と SessionStora...

Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決します

Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決しますコード例: var...

MySQL のキーとインデックスの違い

まずはコードを見てみましょう: ALTER TABLE reportblockdetail ADD ...

ページにデータを表示するReactメソッド

目次親コンポーネントリストボックスリストコンポーネントボタンコンポーネント PageButton昨年...

HTML フォーム送信アクションと URL ジャンプアクションの違い

フォームのアクションは URL ジャンプとは異なります。フォームはバックグラウンドにデータを渡すこと...

Reactでプロキシを有効にする2つの実用的な方法

プロキシを有効にする2つの方法React には、直接使用できるカプセル化された Ajax リクエスト...

Linux に Python 3.8.1 をインストールするための詳細なチュートリアル

この例では、Linux への Python 3.8 のインストールを例に挙げます。 1. 依存パッケ...

MySQLの基本の共通機能

目次1. 共通機能分類1.1 単一行関数: 1.2 グループ化機能: 2. 単一行関数3. 数学関数...

WIN10 での JDK インストールと環境変数の設定手順 (詳細版)

目次1. JDKをダウンロードする(例としてjdk1.8.0を使用する) 2. JDK をインストー...

React antd タブの切り替えによりサブコンポーネントが繰り返し更新される

説明する: Tabs コンポーネントが切り替わると、TabPane に含まれる同じサブコンポーネント...

Web ページのエンコーディングで gbk や gb2312 ではなく utf-8 が使用されるのはなぜですか?

選択肢がある場合は、UTF-8を使用することをお勧めします。実際、Windows システム自体のプロ...

タイムスタンプの差を計算するSQLメソッド

タイムスタンプの差を計算するSQLメソッド概要場合によっては、特定のレコードを時間で検索する必要があ...

MySQL における一般的な高度な SQL ステートメント

MySQL 高度な SQL ステートメント kgc を使用します。 テーブルlocation(Reg...