プロセスごとにネットワーク帯域幅を監視する 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の使用に関する深い理解

推薦する

最適なウェブページ幅とその互換性のある実装方法

1. Web ページをデザインするときに、幅を決定するのは非常に面倒な作業です。 jb51.net ...

JavaScript を使用して動的な QQ 登録ページを作成する

目次1. はじめに1. 基本レイアウト2. 写真を自動的に切り替える3. コンテンツを追加する4. ...

VMware Workstation16 と Navicat リモート接続での Centos7 での MySQL8.0 インストール プロセス

目次1. CentOS7+MySQL8.0、yumソースインストール2. MySQLにログインしてパ...

MySQL XA で分散トランザクションを実装する方法

目次序文XA プロトコルMySQL XA で分散トランザクションを実装する方法序文MySQL が単一...

古い Vue プロジェクトに Vite サポートを追加する方法

1. はじめに会社のプロジェクトを引き継いで2年になります。今では毎回プロジェクトを起動するのに1分...

MySQL インデックスがソートに与える影響の分析例

この記事では、例を使用して、MySQL インデックスがソートに与える影響を説明します。ご参考までに、...

キャンバスでPS消しゴムスクラッチカードの効果を実現するためのJSの使用方法の詳細な説明

目次効果のデモンストレーション:メインJSコード実装 <div class="box...

vue.config.js パッケージ最適化構成

Baiduの情報は多様すぎて目が回ります。心配しないでください。私はあなたのためにそれを体験しました...

Vue.jsでタブ切り替えと色変更操作を実装する解説

この機能を実装するにあたり、本家ブロガーさんから拝借した方法では色の切り替えが実現できず、長い間考え...

Ubuntu 12.04 でカーネルツリーを構築する実装プロセスの詳細な説明

まず使用しているカーネルのバージョンを確認してくださいlin@lin-仮想マシン:~$ uname ...

Vue+Websocketはチャット機能を実装するだけです

この記事では、チャット機能を簡単に実装するためのVue+Websocketの具体的なコードを参考まで...

Debian 9 システムに MySQL データベースをインストールする方法

序文タイトルを見ると、誰もが「Debian 9 に MySQL をインストールするにはどうすればいい...

JavaScript でオブザーバー パターンを実装する方法

目次概要オブザーバーパターンの応用シナリオオブザーバーパターンの実装要約する概要オブザーバー パター...

条件付きコメント形式の書き方とサンプルコード

フロントエンドエンジニアとして、IE は私たちにとって馴染み深いものであるはずです。設計案を実装する...

MySQLで現在の時間間隔の前日のデータをクエリする

1. 背景実際のプロジェクトでは、分散スケジュールされたタスク実行の状況に遭遇することがあります。ス...