在Linux中,可以使用多种命令行工具来检查网络占用情况。以下是一些常用的方法:

1. 使用 `iftop`:

`iftop` 显示网卡设备当前的实时连接状态。要安装它可以运行:

linux查看网络占用  第1张

bash

sudo aptget install iftop Debian 及基于其上的发行版(如 Ubuntu)

sudo yum install iftop RHEL 系列及衍生版(包括 CentOS 和 Fedora)

sudo dnf install iftop 较新版本的Fedora

linux查看网络占用  第2张

安装后,运行以下命令即可监视某个指定接口上的数据流:

bash

linux查看网络占用  第3张

sudo iftop i eth0 替换 eth0 为你实际需要监控的网卡设备名,如ens3, wlp2s0等。

2. `nload` 单纯地监测所有进出流量

类似 `iftop`,但是它提供了更简单的界面。

安装:

bash

sudo aptget install nload Debian系列的发行版

linux查看网络占用  第4张

sudo yum install nload 针对Redhat系的安装方法(例如CentOS)或

sudo dnf install nload 如果你用的是较新版Fedora系统,则用DNF

使用 `nload [网口名称]` 如:`nload ens3`

linux查看网络占用  第5张

3. `vnstat`

`vnstat` 更适合于长期网络流量监控和日志记录,它可以生成每月/每天的统计数据并将其存储下来。首先通过包管理器安装 `vnstat` ,接着初始化一个监控会话:

sudo aptget install vnstat Debian/Ubuntu系系统

sudo yum y install vnstat RHEL/CentOS/Fedora系统

linux查看网络占用  第6张

初始化网络设备的数据跟踪:

sh

sudo vnstat modify i enp42s0 u 其中 enp42s0 指定为想要跟踪流量的接口名字

sudo vnstat remove i enp42s0 停止监控该网卡数据流量

使用sudo vnstat l实时监控某网卡的上行下行字节速率。

使用sudo tail /var/lib/vnstat/db_name来实时跟踪某个网卡的数据传输状况。(这里db_name对应你的数据库的名字)

4. 直接从 `/sys/net/` 与 `/proc/` 文件中读取:

linux查看网络占用  第7张

要想不经过任何附加软件而查看某些信息,则可以从系统的特殊`/proc/net/`目录或特定于设备文件夹里获取:

查看某个指定网络接口的所有统计数据:比如eth0:

linux查看网络占用  第8张

cat /proc/net/dev 这条命令可以得到整个网路设备的基本统计结果,包含入站字节数以及出站字节数等等...

grep "^[e]" /proc/net/dev | sed 's/: /:/g'

grep "^[e]" /proc/net/dev | awk '{OFS = ":"} { print "接收"NR" "NR$1":"$2, $9":"NR" 传输 " NR, NR$10} ' |sed "s/:\([[:digit:]]\):\(.\):. \2:[09]:./接\1 \2 收/" 进一步格式化以方便阅读

linux查看网络占用  第9张

这些就是你在Linux环境下监测不同级别的网络流量所常用的方法了!