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. 実践的な注意点: 実際の運用では、必要な制限と組み合わせて使用する必要があります。
関連記事: