Linux系统监控
2472
2022-08-23
linux 限制带宽命令,Linux服务器限制网络带宽流量速率(限制应用程序和指定网卡的流量)
在本文中,我将为你分享两种 Linux 服务器限制网络流量速率的方法,希望可以帮助到你~
一、限制应用程序的网络流量速率
限制应用程序的网络流量速率的方法就是trickle工具。
1、trickle介绍
Trickle是一款轻量级的用户空间带宽控制管理工具,用来限制如浏览器Firefox等,FTP,SSH,curl,wget,scp等等使用网络带宽。
Trickle通过控制socket数据读写量来控制和限制应用的上传和-速度。要注意的是trickle使用动态链接和加载,所以只对于使用libc.so库的程序有用,其他的则无效。由于trickle可以设置数据在socket上的传输延迟,因此就可以用来限制应用程序的网络带宽。
Trickle不能用于限制使用UDP协议的应用的带宽,只可用于TCP连接。也无法工作在使用静态链接的可执行程序上。
即便如此,trickle 命令有一个很好的特性是它仅在用户空间中运行,这意味着你不需要 root 权限就可以限制一个程序的带宽使用。
2、如何判断trickle对应用程序是否有效?
根据是否使用libc.so库来判断
可以通过ldd命令来查看这个程序是否使用了libc.so库。如果应用程序使用了这个库,就可以用trickle来限制网络带宽,否则就不行。
ldd /usr/bin/wget | grep libc.solibc.so.6 => /lib64/libc.so.6 (0x00002adc30397000)
3、Linux安装Trickle
Trickle工具有一些依赖包,安装和使用trickle之前必须安装“libevent库”,不过这个库在大多数现在的linux服务器上已经默认安装了。
在 Ubuntu/Debian/Linux Mint服务器上运行 apt-get install trickle进行安装。请确保源列表已经更新,接着安装你想要的应用。
$ sudo apt-get update$ sudo apt-get install trickle
在 Fedora/CentOS/RHEL服务器上需要更新系统,然后使用下面的命令安装trickle
# yum update# yum install trickle
4、trickle基本使用方法。
trickle --helpUsage: trickle [-hvVs] [-d
只需简单地把 trickle 命令(及速率参数)放在你想运行的命令之前。
$ trickle -d -u 这就可以将-和上传速率限定为特定值(单位 KBytes/s)。
例如,将你的 scp 会话的最大上传带宽设定为 100 KB/s
$ trickle -u 100 scp backup.tgz alice@192.168.4.93:/home/wslu
如若你想,你可以通过创建一个自定义启动器的方式,使用下面的命令为你的 Firefox 浏览器设定最大-速率(例如, 300 KB/s)。
trickle -d 300 firefox %u
二、限制网络接口的网络流量速率
Linux 服务器限制网络接口的流量速率需要用到一个工具:wondershaper。
1、wondershaper介绍
Wondershaper实际上是一个shell脚本,它使用tc来定义流量调整命令,使用QoS来处理特定的网络接口。外发流量通过放在不同优先级的队列中,达到限制传出流量速率的目的;而传入流量通过丢包的方式来达到速率限制的目的。
事实上, wondershaper 的既定目标不仅仅是对一个接口增加其带宽上限;当批量-或上传正在进行时,wondershaper 还试图去保持互动性会话如 SSH 的低延迟。同样的,它还会控制批量上传(例如 Dropbox 的同步)不会使得-“窒息”,反之亦然。
2、Linux安装Wonder Shaper
1)安装依赖
Debian/Ubuntu系统
sudo apt-get updatesudo apt install -y wondersharper
Centos系统
yum install epel-release -ysudo yum install -y wondersharper
使用二进制
2)-wondershaper
git clone wondershaper #直接运行wondershaper./wondershaper
3)全局安装wondershaper
cd wondershapersudo make install
3、wondershaper 基本用法
首先找到网络接口的名称。以下是查找网卡详细信息的几个常用方法。
$ ip addr $ route $ ifconfig
一旦找到了网卡名称,就可以限制带宽速率了,如下所示。
$ sudo wondershaper -a
比如说你的网卡名是enp0s8,你希望将-和上传的带宽限制分别限制于1024 Kbps和512 kbps,命令应该是:
$ sudo wondershaper -a enp0s8 -d 1024 -u 512
其中
-a:网卡名
-d:-速率
-u:上传速度
想取消网络适配器的速度限制,只要运行:
$ sudo wondershaper -c -a enp0s8
或者
$ sudo wondershaper -c enp0s8
想了解更多详细信息,请运行以下命令,查看帮助部分:
$ wondershaper -h USAGE: ./wondershaper [-hcs] [-a
或者查阅参考手册页。
$ man wondershaper
总结
在本文中,我分享了两种不同的方法,来达到Linux 服务器限制应用程序和网络接口的带宽流量速率的目的。两种工具的使用都很简单,都为用户提供了一个快速且容易的方式来调整或限制流量。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~