2026年5月30日

2026年5月30日

nethogでプロセス別のネットワーク使用量を確認する方法

はじめに

この記事では、nethogsという強力なツールを使ってプロセス別のネットワーク使用量を確認する方法について説明します。nethogsは、Linuxサーバーで特定のプロセスがどれだけのネットワーク帯域を使用しているかをリアルタイムで監視できるため、パフォーマンス分析やトラブルシュートに非常に有用です。

症状・背景

nethogsが必要になる主な場面は以下の通りです:

  • ネットワーク帯域が不正に消費されている原因を特定する必要がある場合
  • 特定のアプリケーションまたはプロセスによるネットワークトラフィックの監視が必要な場合
  • パフォーマンス分析やネットワーク利用状況のモニタリングを行う場合

手順・設定方法

ステップ1: nethogsのインストール

# apt-getを使用してnethogsをインストール(Debian/Ubuntu系)
sudo apt-get update
sudo apt-get install nethogs

# yumを使用してnethogsをインストール(RedHat/CentOS系)
sudo yum install nethogs

ステップ2: ネットワークインターフェースの選択

# 有効なネットワークインターフェースの一覧を表示
ip link show

ステップ3: プロセス別のネットワーク使用量を確認する

# 全プロセスのネットワーク帯域使用状況を表示
sudo nethogs <ネットワークインターフェース名>

# 例:
sudo nethogs eth0

ステップ4: 実践/トラブルシュート/監視

# システムリソースの制限と組み合わせて使用
# iptablesやnftでネットワークトラフィックをコントロール
sudo nethogs -i eth0 -t 10

# 指定されたプロセスIDのネットワーク帯域使用状況を確認
sudo nethogs --pid <PID>

# 複数のインターフェースで同時に監視する
sudo nethogs -a

注意事項

  • セキュリティ上の注意: ネットワークトラフィックを監視する際は、ユーザー権限が必要となるため、適切なセキュリティポリシーを適用してください。
  • パフォーマンス/運用上の注意: nethogsの実行により、ネットワーク性能に小さな影響が生じる可能性があります。必要最小限の時間だけ実行することを推奨します。

まとめ

1. インストール: ネットワーク帯域管理ツールとしてnethogsを使用するためには、適切なパッケージマネージャーを使ってインストールが必要です。

2. インターフェース選択: 監視対象のネットワークインターフェースを事前に確認し、必要なインタフェースを選択します。

3. リアルタイム監視: nethogsコマンドを使用してプロセス別のネットワーク使用量をリアルタイムで確認できます。

4. 複数監視: 複数のネットワークインターフェースやプロセスを同時に監視することも可能です。

5. 実践的な注意点: 実際の運用では、必要な制限と組み合わせて使用する必要があります。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ