第 39 章 使用 SystemTap 监控网络活动
在安装 systemtap-testsuite
软件包时,您可以使用 /usr/share/systemtap/testsuite/systemtap.examples/
目录中提供的实用示例 SystemTap 脚本来监控和调查您系统的网络活动。
39.1. 使用 SystemTap 分析网络活动
您可以使用 nettop.stp
示例 SystemTap 脚本来对网络活动进行性能分析。脚本会跟踪系统中生成网络流量的进程,并提供有关每个进程的以下信息:
- PID
- 列出进程的 ID。
- UID
- 用户 ID。用户 ID 0 代表 root 用户。
- DEV
- 进程用于发送或接收数据的以太网设备(如 eth0、eth1)。
- XMIT_PK
- 进程传输的数据包数。
- RECV_PK
- 进程接收的数据包数。
- XMIT_KB
- 进程发送的数据量(以 KB 为单位)。
- RECV_KB
- 服务接收的数据量(以 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