• 摘要:对于用户量大的情况下,可能一个程序就占用了你所有的网络带宽。这种情况可以通过nethogs来查看。具体参见:《nethogs查看每个进程使用的带宽》。这种情况下,你就需要临时限制下带宽,来确保你的网络带宽不会被一个程序耗而对其他应用造成影响。下面来介绍一款轻量级的用户空间带宽控制管理的工具------trickle。1.trickle介绍trickle是一款轻量级的用户空间带宽控制管理的工具,用来限制如浏览器Firefox等,FTP,SSH,curl,wget,scp等等使用
  • 对于用户量大的情况下,可能一个程序就占用了你所有的网络带宽。这种情况可以通过nethogs来查看。具体参见: 《nethogs 查看每个进程使用的带宽》。这种情况下,你就需要临时限制下带宽,来确保你的网络带宽不会被一个程序耗而对其他应用造成影响。下面来介绍一款轻量级的用户空间带宽控制管理的工具------trickle。

原:https://www.aliyun.com/jiaocheng/143037.html?spm=5176.100033.1.28.61492a90YuetXv

1. trickle介绍

trickle是一款轻量级的用户空间带宽控制管理的工具,用来限制如浏览器Firefox等, FTP , SSH,curl,wget,scp等等使用网络带宽。

trickle通过控制socket数据读写量来控制和限制应用的上传和下载速度。要注意的是trickle使用动态链接和加载,所以只对于使用libc.so库的程序有用,其他的则无效的。由于trickle可以设置数据在socket上的传输延迟,因此就可以用来限制应用程序的网络带宽。

trickle不能用于限制使用UDP协议的应用的带宽,只可用于TCP连接。也无法工作在使用静态链接的可执行程序上。

2. 如何判定trickle对有个应用程序有效

根据是否使用libc.so库来判断。

可以通过ldd命令来查看某个应用程序是否使用了libc.so库。如果应用程序使用了这个库,就可以用trickle来限制网络带宽,否则不行。

# ldd /usr/bin/wget | grep libc.so

libc.so.6 => /lib64/libc.so.6 (0x00002adc30397000)

# ldd /usr/bin/wget | grep libc.so libc.so.6 => /lib64/libc.so.6 (0x00002adc30397000)

3. 安装trickle

需要先安装EPEL源,参见《CentOS / RHCE 可供使用的yum》。

# yum install trickle

1# yum install trickle

4. 使用trickle

# trickle --help

Usage: trickle [-hvVs] [-d <rate>] [-u <rate>] [-w <length>] [-t <seconds>]

[-l <length>] [-n <path>] command ...

-h Help (this)

-v Increase verbosity level

-V Print trickle version

-s 在独立模式下独立运行

-d <rate> 设置最大累计下载速率为 <rate> KB/s

-u <rate> 设置最大累计上传速度为 <rate> KB/s

-w <length> 设置窗口长度为 <length> KB 。默认512KB。

-t <seconds> 设置默认的平滑时间 <seconds> s 。平滑时间决定多少时间间隔trickle将尝试让应用程序传输数据。较小的值(0.1 - 1秒)会导致更连续(平滑)会话,非常适合于交互式应用。而较大的值(1 - 10秒)可能会产生一阵阵的发送和接收数据,对需要大量带宽的应用程序更好。

-l <length> 设置默认的平滑长度 <length> KB 。 默认10 KB。

-n <path> 指定trickled socket名称 <path> 。 默认/tmp/.trickled.sock 。

-L <ms> 设置延时。

1234567891011121314

# trickle --helpUsage: trickle [-hvVs] [-d <rate>] [-u <rate>] [-w <length>] [-t <seconds>] [-l <length>] [-n <path>] command ...-h Help (this)-v Increase verbosity level-V Print trickle version-s 在独立模式下独立运行-d <rate>设置最大累计下载速率为 <rate> KB/s-u <rate>设置最大累计上传速度为 <rate> KB/s-w <length>设置窗口长度为 <length> KB 。默认512KB。-t <seconds> 设置默认的平滑时间 <seconds> s 。平滑时间决定多少时间间隔trickle将尝试让应用程序传输数据。较小的值(0.1 - 1秒)会导致更连续(平滑)会话,非常适合于交互式应用。而较大的值(1 - 10秒)可能会产生一阵阵的发送和接收数据,对需要大量带宽的应用程序更好。-l <length>设置默认的平滑长度 <length> KB 。 默认10 KB。-n <path>指定trickled socket名称 <path> 。 默认/tmp/.trickled.sock 。-L <ms>设置延时。

5. 举例

限制wget下载速度为50KB/s

6.  限制一个shell的所有命令带宽

trickle 限制用户空间带宽相关推荐

  1. 用户空间文件系统(FUSE)

    女主宣言 今天小编为大家分享用户空间文件系统FUSE,文章从FUSE的架构,分析了各个部分的原理,并结合小编自身的使用,对FUSE进行了建议性的优化,希望能对大家有所帮助. PS:丰富的一线技术.多元 ...

  2. 指南:使用 Trickle 限制应用程序带宽占用

    指南:使用 Trickle 限制应用程序带宽占用 有没有遇到过系统中的某个应用程序独占了你所有的网络带宽的情形?如果你有过这样的遭遇,那么你就会感受到Trickle这种带宽调整应用的价值.不管你是一个 ...

  3. 嵌入式Linux设备驱动程序:用户空间中的设备驱动程序

    嵌入式Linux设备驱动程序:用户空间中的设备驱动程序 Embedded Linux device drivers: Device drivers in user space Interfacing ...

  4. linux文件IO与内存映射:用户空间的IO缓冲区

    文章目录 用户空间IO缓冲区产生 IO缓冲区 描述 IO缓冲区的写模式 自定义IO缓冲区 用户空间IO缓冲区产生 系统调用过程中会产生的开销如下: 切换CPU到内核态 进行数据内容的拷贝,从用户态到内 ...

  5. linux 物理内存用完了_Linux用户空间与内核空间(理解高端内存)

    Linux内核地址映射模型 x86 CPU采用了段页式地址映射模型.进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存. 段页式机制如下图. Linux内核地址空间划分 通常32位L ...

  6. FUSE——用户空间文件系统

    用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统. 目前Linux通过内核模块对此进行支持.一些文件系统如ZFS,glu ...

  7. 浅入浅出 Android 安全:第三章 Android 本地用户空间层安全

    第三章 Android 本地用户空间层安全 来源:Yury Zhauniarovich | Publications 译者:飞龙 协议:CC BY-NC-SA 4.0 本地用户空间层在 Android ...

  8. linux下热插拔事件的产生是怎样通知到用户空间,kobject_uevent_env之uevent【转】...

    转自:http://blog.csdn.net/myarrow/article/details/8259888 1.kobject, ktype, kset 1) kobject: 代表sysfs中的 ...

  9. 用户空间与内核空间数据交换的方式(zz)

    用户空间与内核空间数据交换的方式(1)------debugfs 用户空间与内核空间数据交换的方式(2)------procfs 用户空间与内核空间数据交换的方式(3)------seq_file 用 ...

最新文章

  1. pacman安装php的位置,PacMan 01——地图的搭建
  2. 理解JS的事件循环过程
  3. Django ORM 知识点总结
  4. 【Kafka】Kafka NIO
  5. DataSet数据导入到Excel
  6. Pandas系列(十三)分层索引MultiIndex
  7. 记一次设置密钥登陆centos7所遇问题
  8. Win10华硕atk驱动怎么安装_正版win10下载好后怎么安装?正版win10安装教程
  9. Crystal Reports 2008|Crystal Reports 2008破解版下载
  10. C4D插件X-Particles粒子特效(二)
  11. web网关_配置手册
  12. 装了xmapp还需要装mysql吗_安装xamp之后,appach、mysql等问题的总结
  13. BugKu CTF(杂项篇MISC)—想要种子吗
  14. Android电池信息
  15. OpenCV开发笔记(五十五):红胖子8分钟带你深入了解Haar、LBP特征以及级联分类器识别过程(图文并茂+浅显易懂+程序源码)
  16. 二维彩虹和你一起看见更大的世界
  17. 【原创】2012年3月24日 单骑至大峪 日志
  18. 带你深层次理解什么是进制
  19. word怎么改一张纸的方向_word怎样单独改变一张纸的方向
  20. 2018国赛数学建模笔记

热门文章

  1. time_t、SYSTEMTIME、CTime、COleDateTime互转
  2. Bigdecimal BigDeciamal元转换为万元,转换为百分数,字符串与数值互转,整数/浮点数转换为BigDeciamal 获取当前年月日时分秒 百分比数据保留两位小数
  3. java开发之异常处理_SimpleMappingExceptionResolver
  4. Google 开源最新机器学习系统 TensorFlow
  5. 流媒体-RTP/RTCP
  6. linux路径跟踪命令,Linux基础命令---tracepath追踪路由信息
  7. 防止PCB会过期,以及过期后的处理办法
  8. 二维码扫码登录的原理
  9. C r e a t e P r o c e s s的b I n h e r i t H a n d l e s参数
  10. 批量html转word 或者 pdf