在CentOS系统中,可以通过以下几种方法来监控和回收网络带宽:
使用nethogs工具:
nethogs是一个实时监控网络带宽使用情况的工具。首先需要安装它:
sudo yum install nethogs
然后运行nethogs命令来查看实时网络使用情况:
sudo nethogs eth0
其中eth0是你要监控的网络接口名称。
使用iftop工具:
iftop是一个实时显示网络带宽使用情况的工具。首先需要安装它:
sudo yum install iftop
然后运行iftop命令来查看实时网络使用情况:
sudo iftop -i eth0
其中eth0是你要监控的网络接口名称。
使用tc(Traffic Control)工具:
tc是Linux系统中的一个流量控制工具,可以用来限制网络带宽。以下是一个简单的示例,限制eth0接口的上传速度为1Mbps:
sudo yum install iproute
sudo tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms
如果需要删除限制,可以使用以下命令:
sudo tc qdisc del dev eth0 root
使用cgroups(Control Groups)工具:
cgroups是Linux系统中的一个资源管理工具,可以用来限制进程组的网络带宽。首先需要安装cgroup-tools:
sudo yum install libcgroup-tools
然后创建一个新的cgroup:
sudo cgcreate -g net_cls:/limited_bandwidth
接下来,为cgroup分配一个classid:
echo 1:1 | sudo tee /sys/fs/cgroup/net_cls/limited_bandwidth/net_cls.classid
现在可以将进程添加到cgroup中以限制其网络带宽。例如,将进程ID为1234的进程添加到cgroup:
echo 1234 | sudo tee /sys/fs/cgroup/net_cls/limited_bandwidth/tasks
最后,使用tc命令为cgroup设置带宽限制:
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:1
sudo tc qdisc add dev eth0 root handle 1: htb default 10
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit ceil 1mbit
这些方法可以帮助你监控和回收CentOS系统中的网络带宽。请根据实际需求选择合适的方法。