在Linux系统中,有几种常用工具可以查看进程的网络流量和网速使用情况:
Nethogs是一个小型的网络监控工具,可以按进程分组显示实时网络带宽使用情况。
安装方法:
# Debian/Ubuntu
sudo apt install nethogs
# CentOS/RHEL
sudo yum install nethogs
# Fedora
sudo dnf install nethogs
使用方法:
sudo nethogs [interface] # 如 sudo nethogs eth0
输出示例:
PID USER PROGRAM DEV SENT RECEIVED
1234 root /usr/bin/firefox eth0 12.3KB 45.6KB
5678 user /usr/bin/ssh eth0 1.2KB 0.8KB
iftop可以显示网络接口上的实时带宽使用情况,按连接分组。
安装方法:
# Debian/Ubuntu
sudo apt install iftop
# CentOS/RHEL
sudo yum install iftop
# Fedora
sudo dnf install iftop
使用方法:
sudo iftop -i [interface] # 如 sudo iftop -i eth0
nload提供简单的网络流量监控界面。
安装方法:
# Debian/Ubuntu
sudo apt install nload
# CentOS/RHEL
sudo yum install nload
# Fedora
sudo dnf install nload
使用方法:
nload [interface] # 如 nload eth0
安装方法:
# Debian/Ubuntu
sudo apt install bmon
# CentOS/RHEL
sudo yum install bmon
# Fedora
sudo dnf install bmon
使用方法:
bmon
vnstat是一个网络流量监控工具,可以记录历史数据。
安装方法:
# Debian/Ubuntu
sudo apt install vnstat
# CentOS/RHEL
sudo yum install vnstat
# Fedora
sudo dnf install vnstat
使用方法:
vnstat -l # 实时监控
vnstat # 查看统计
也可以使用系统自带工具组合查看:
# 查看网络连接和对应进程
sudo netstat -tunap
# 或者使用ss命令(更现代)
sudo ss -tunap
# 结合watch命令实时监控
watch -n 1 "ss -tunap"
如果需要统计某个进程的总流量使用情况,可以使用以下方法:
# 安装必要的工具
sudo apt install strace
# 监控进程的网络I/O
sudo strace -p [PID] -e trace=network -s 10000 2>&1 | grep -A 10 "recvfrom\|sendto"
对于长期监控,建议使用nethogs或iftop这类专用工具,它们提供了更友好的界面和更详细的信息。