第39章 SystemTap でのネットワークアクティビティーの監視
/usr/share/systemtap/testsuite/systemtap.examples/
ディレクトリーで利用可能な SystemTap スクリプトの例を使用して、systemtap-testsuite
パッケージをインストールし、システムのネットワークアクティビティーを監視して調べることができます。
39.1. SystemTap でのネットワークアクティビティーのプロファイル
nettop.stp
のサンプルの SystemTap スクリプトを使用して、ネットワークアクティビティーのプロファイルを作成できます。このスクリプトは、システムでネットワークトラフィックを生成しているプロセスを追跡し、各プロセスに関する以下の情報を提供します。
- PID
- リスト表示されているプロセスの ID。
- UID
- ユーザー ID。ユーザー ID が 0 の場合は、root ユーザーを指します。
- DEV
- データの送受信に使用されるイーサネットデバイス (eth0、eth1 など)。
- XMIT_PK
- プロセスが送信したパケットの数。
- RECV_PK
- プロセスが受信したパケットの数。
- XMIT_KB
- プロセスにより送信されたデータの量 (キロバイト)。
- RECV_KB
- サービスが受信したデータの量 (キロバイト単位)。
前提条件
- SystemTap のインストール の説明に従って、SystemTap をインストールしている。
手順
nettop.stp
スクリプトを実行します。# stap --example nettop.stp
nettop.stp
スクリプトは、5 秒間隔でネットワークプロファイルのサンプリングを行います。nettop.stp
スクリプトの出力は、以下のようになります。[...] PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND 0 0 eth0 0 5 0 0 swapper 11178 0 eth0 2 0 0 0 synergyc PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND 2886 4 eth0 79 0 5 0 cups-polld 11362 0 eth0 0 61 0 5 firefox 0 0 eth0 3 32 0 3 swapper 2886 4 lo 4 4 0 0 cups-polld 11178 0 eth0 3 0 0 0 synergyc PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND 0 0 eth0 0 6 0 0 swapper 2886 4 lo 2 2 0 0 cups-polld 11178 0 eth0 3 0 0 0 synergyc 3611 0 eth0 0 1 0 0 Xorg PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND 0 0 eth0 3 42 0 2 swapper 11178 0 eth0 43 1 3 0 synergyc 11362 0 eth0 0 7 0 0 firefox 3897 0 eth0 0 1 0 0 multiload-apple