我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何在Linux系统中使用限制网络带宽

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何在Linux系统中使用限制网络带宽

本篇内容主要讲解“如何在Linux系统中使用限制网络带宽”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在Linux系统中使用限制网络带宽”吧!

在 Linux 中限制一个应用的速率

限制网络流量速率的一种方法是通过一个名为trickle的命令行工具。通过在程序运行时,预先加载一个速率限制 socket 库 的方法,trickle 命令允许你改变任意一个特定程序的流量。 trickle 命令有一个很好的特性是它仅在用户空间中运行,这意味着,你不必需要 root 权限就可以限制一个程序的带宽使用。要能使用 trickle 程序控制程序的带宽,这个程序就必须使用非静态链接库的套接字接口。当你想对一个不具有内置带宽控制功能的程序进行速率限制时,trickle 可以帮得上忙。

在 Ubuntu,Debian 及其衍生发行版中安装 trickle :   

代码如下:

$ sudo apt-get install trickle

在 Fdora 或 CentOS/RHEL (带有 EPEL 软件仓库):   

代码如下:

$ sudo yum install trickle

trickle 的基本使用方法如下。仅需简单地把 trickle 命令(及速率参数)放在你想运行的命令之前。   

代码如下:

$ trickle -d <download-rate> -u <upload-rate>  <command>

这就可以将 <command> 的下载和上传速率限定为特定值(单位 KBytes/s)。

例如,将你的 scp 会话的最大上传带宽设定为 100 KB/s:   

代码如下:

$ trickle -u 100 scp backup.tgz alice@remote_host.com:

如若你想,你可以通过创建一个自定义启动器的方式,使用下面的命令为你的 Firefox 浏览器设定最大下载速率(例如, 300 KB/s)。  

代码如下:

trickle -d 300 firefox %u

最后, trickle 也可以以守护进程模式运行,在该模式下,它将会限制所有通过 trickle 启动且正在运行的程序的总带宽之和。 启动 trickle 使其作为一个守护进程(例如, trickled):   

代码如下:

$ sudo trickled -d 1000

一旦 trickled 守护进程在后台运行,你便可以通过 trickle 命令来启动其他程序。假如你通过 trickle 启动一个程序,那么这个程序的最大下载速率将是 1000 KB/s, 假如你再通过 trickle 启动了另一个程序,则每个程序的(下载)速率极限将会被限制为 500 KB/s,等等。
在 Linux 中限制一个网络接口的速率

另一种控制你的带宽资源的方式是在每一个接口上限制带宽。这在你与其他人分享你的网络连接的上行带宽时尤为实用。同其他一样,Linux 有一个工具来为你做这件事。wondershaper就是干这个的。

wondershaper 实际上是一个 shell 脚本,它使用 tc 来定义流量调整命令,使用 QoS 来处理特定的网络接口。外发流量通过放在不同优先级的队列中,达到限制传出流量速率的目的;而传入流量通过丢包的方式来达到速率限制的目的。

事实上, wondershaper 的既定目标不仅仅是对一个接口增加其带宽上限;当批量下载或上传正在进行时,wondershaper 还试图去保持互动性会话如 SSH 的低延迟。同样的,它还会控制批量上传(例如, Dropbox 的同步)不会使得下载“窒息”,反之亦然。

在 Ubuntu Debian 及其衍生发行版中安装 wondershaper:   

代码如下:

$ sudo apt-get install wondershaper

在 Fdora 或 CentOS/RHEL (带有 EPEL 软件仓库) 中安装 wondershaper:   

代码如下:

$ sudo yum install wondershaper

wondershaper 的基本使用如下:    

代码如下:

$ sudo wondershaper <interface> <download-rate> <upload-rate>

举个例子, 将 eth0 的最大下载/上传带宽分别设定为 1000Kbit/s 和 500Kbit/s:   

代码如下:

$ sudo wondershaper eth0 1000 500

你也可以通过运行下面的命令将速率限制进行消除:   

代码如下:

$ sudo wondershaper clear eth0

假如你对 wondershaper 的运行原理感兴趣,你可以阅读其 shell 脚本源文件(/sbin/wondershaper)。

到此,相信大家对“如何在Linux系统中使用限制网络带宽”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何在Linux系统中使用限制网络带宽

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在Linux系统中使用限制网络带宽

本篇内容主要讲解“如何在Linux系统中使用限制网络带宽”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在Linux系统中使用限制网络带宽”吧!在 Linux 中限制一个应用的速率限制网络流量
2023-06-13

如何在Linux中使用Trickle限制应用程序带宽占用

这篇文章主要介绍“如何在Linux中使用Trickle限制应用程序带宽占用”,在日常操作中,相信很多人在如何在Linux中使用Trickle限制应用程序带宽占用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如
2023-06-13

Linux系统如何查看服务器带宽及网络使用情况

文章目录 前言  linux查看服务器带宽具体方法  一、使用speedtest-cli命令查看下载和上传最大流量值  二、查看网卡、网络的详情   1.查看服务器网络端口   2.ethtool命令查看宽带大小   三、nl
2023-08-19

linux中如何使用iftop命令监控网络带宽

这篇文章将为大家详细讲解有关linux中如何使用iftop命令监控网络带宽,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。iftop 是网络监控工具,它提供实时带宽监控。 iftop 测量进出各个套接字连接
2023-06-16

win7系统如何限制带宽具体在哪里可以设置

1.点“开始”——点“运行”——输入“Gpedit.msc”(注意,输入时没“”号,就输Gped
2023-06-03

如何在linux系统中使用UMASK权限

这篇文章将为大家详细讲解有关如何在linux系统中使用UMASK权限,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  umask一般是用在你初始创建一个目录或者文件的时候赋予他们的权限。  
2023-06-13

怎么在Linux系统上安装slurm来监控网络带宽和控制节点

这篇文章主要讲解了“怎么在Linux系统上安装slurm来监控网络带宽和控制节点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Linux系统上安装slurm来监控网络带宽和控制节点”吧
2023-06-12

Linux下如何按进程实时统计网络带宽利用率

这篇文章主要为大家展示了“Linux下如何按进程实时统计网络带宽利用率”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何按进程实时统计网络带宽利用率”这篇文章吧。NetHogs &n
2023-06-16

Docker在Linux系统中如何管理容器网络

Docker在Linux系统中通过使用桥接网络、覆盖网络、主机网络等不同的网络模式来管理容器网络。桥接网络(Bridge):这是Docker的默认网络模式。在这种模式下,每个容器都会连接到一个虚拟网桥上,这个网桥会连接到宿主机的物理网络。容
Docker在Linux系统中如何管理容器网络
2024-10-07

如何使用Linux下NFS网络文件系统

本篇内容主要讲解“如何使用Linux下NFS网络文件系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Linux下NFS网络文件系统”吧!0.什么是NFS(Network FileSys
2023-06-12

在Linux系统中怎么使用iptraf进行网络监控

这篇文章主要讲解了“在Linux系统中怎么使用iptraf进行网络监控”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Linux系统中怎么使用iptraf进行网络监控”吧!iptraf是一个
2023-06-12

如何使用Linux系统中nmap网络扫描工具命令

这篇文章主要讲解了“如何使用Linux系统中nmap网络扫描工具命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Linux系统中nmap网络扫描工具命令”吧!1.名称 nmap-网
2023-06-12

如何在RedHat系的Linux中使用nmcli命令管理网络

本篇内容主要讲解“如何在RedHat系的Linux中使用nmcli命令管理网络”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在RedHat系的Linux中使用nmcli命令管理网络”吧!Re
2023-06-13

Linux系统如何使用ping命令判断网络好坏

这篇文章主要介绍Linux系统如何使用ping命令判断网络好坏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在Linux系统中如果要像判断网络是否好坏可以使用ping命令,ping命令是最常用的网络命令,可以测试与目
2023-06-28

如何在linux系统中使用cd命令

这篇文章将为大家详细讲解有关如何在linux系统中使用cd命令,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一个
2023-06-07

如何在Linux系统中使用sudo命令

如何在Linux系统中使用sudo命令?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。“Sudo” 是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普
2023-06-12

编程热搜

目录