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 -u
这就可以将 的下载和上传速率限定为特定值(单位 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
举个例子, 将 eth0 的最大下载/上传带宽分别设定为 1000Kbit/s 和 500Kbit/s:
$ sudo wondershaper eth0 1000500
你也可以通过运行下面的命令将速率限制进行消除:
$ sudo wondershaper clear eth0
假如你对 wondershaper 的运行原理感兴趣,你可以阅读其 shell 脚本源文件(/sbin/wondershaper)。
总结
在本教程中,我介绍了两种不同的方法,来达到如何在 Linux 桌面环境中,控制每个应用或每个接口的带宽使用的目的。 这些工具的使用都很简单,都为用户提供了一个快速且容易的方式来调整或限制流量。 对于那些想更多地了解如何在 Linux 中进行速率控制的读者,请参考 the Linux bible.
linux 进程带宽限制,在Linux中限制网络带宽使用相关推荐
- linux 限制带宽命令,Linux服务器限制网络带宽流量速率(限制应用程序和指定网卡的流量)
linux 限制带宽命令,Linux服务器限制网络带宽流量速率 一.限制应用程序的网络流量速率 1.trickle介绍 2.如何判断trickle对应用程序是否有效? 3.Linux安装Trickle ...
- linux 进程 带宽,Linux 如何查看进程带宽?
1 如何确定自己当前进程占用的带宽是多少? iftop 查看当前进程的带宽 nload 总带宽使用情况 nethogs 查看进程带宽使用 2 如何确定当前带宽是否被打满 首先得知道 带宽是多少 假 ...
- linux进程及作业管理实验,Linux 进程及作业管理(示例代码)
Linux 进程及作业管理 概述: 一.进程的相关概念: 1.相关定义:内核的功用: 进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能等: 通俗的来说进程是运行起来的程序.唯一标识进程的 ...
- linux 进程装入 物理内存 页表,linux进程空间一步步探究.doc
linux进程空间一步步探究.doc linux 进程地址空间的一步步探究 讲师:程姚根 我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内 ...
- linux 进程装入 物理内存 页表,linux内存管理解析----linux物理,线性内存布局及页表的初始化...
主要议题: 1分页,分段模式及实模式 2Linux分页 3linux内存线性地址空间布局及物理内存空间布局 4linux页表初始化及代码解析 1.1.1内存寻址和保护模式 在X86平台上,内存控制单元 ...
- linux 进程通信比较,浅析Linux进程通信的几种方式及其比较
摘要:本文通过对Linux下几种主要通信方式进行概述,并结合Linux系统的系统调用对OS中的实现进行简要概述,并对其优缺点进行分析,阐述了在不同通信情况下应该选择何种通信方式进行选择. 关键词:Li ...
- linux进程管理子系统分析,linux进程管理子系统简要分析
Linux进程管理: 进程与程序: 程序:存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体. 进程:是一个执行中的程序,它是动态的实体 进程四要素: 1. 有一段程序供其执行,这段程序不一 ...
- linux进程管道通信缺点,Linux进程通信(IPC)的方式详解
前言:Linux进程通信的方式 什么是进程通信?进程通信是指进程之间交换信息 进程通信方式共有6种: 管道(pipe),包括流管道(s_pipe)和有名管道(named pipe) 信号(signal ...
- 查看linux进程的设备io,Linux下查看进程IO工具iopp
Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...
最新文章
- html 标签、图像、链接、注释、锚点定位、特殊字符
- vue-cli——vue-resource登录注册实例
- R语言ggpubr包ggsummarystats函数可视化分组条形图(自定义分组颜色、添加抖动数据点jitter、误差条)并在X轴标签下方添加分组对应的统计值(样本数N、中位数、四分位数的间距iqr)
- 人群行为分类数据库--Novel Dataset for Fine-grained Abnormal Behavior Understanding in Crowd
- 计算机题windows如何操作,2015年职称计算机Windows操作系统模拟题(二)
- 妙用Windows安全模式执行杀毒
- 源码里查看Android版本
- 从零开始的自学之路——css选择器
- iOS 让视图UIView 单独显示某一侧的边框线
- Android开发三 如何安装 Android SDK 和Eclipse 插件
- ionic 添加地图定位功能
- 高频算法面试题(字符串) 242. 有效的字母异位词
- XMPP扩展协议详解
- python 语音识别接口_python实现阿里云语音识别api
- putty 32位_了解linux系统远程操作软件,putty的安装过程!
- python程序设计是干什么的_python程序员有学设计模式的必要吗?
- 多元最大似然估计函数
- java如何向服务器传文件,详解Java向服务端发送文件的方法
- Could Not find resource [logback.groovy] ; Cound Not find resource [logback-test.xml]
- 研究生的压力应对与心理健康 测试题答案
热门文章
- android程序大牛,冲向大牛之安卓:学习界面怎么在程序中画出来
- 基于协同过滤算法的在线鲜花店推荐系统详解及GitHub下载
- linux用m4重定向,liunx重定向控制台消息
- JDK的下载与安装eclipse的下载与安装
- excel怎么启用宏_EXCEL制作的小升初毕业生登记表,全自动填充,包括照片
- 操作系统磁盘空闲管理之位示图法
- 最简单,最明了,看了就会的VScode和C++的配置!(Visual Studio Code)
- POJ2421 Constructing Roads 最小生成树
- rsync实现文件同步
- 电源纹波分析及测试方法