在 Linux 系统中,tc(Traffic Control) QoS 常用命令简介
在 Linux 系统中,tc(Traffic Control)命令是一个强大的工具,用于配置和管理网络流量控制。以下是 tc 命令的常用功能和基本用法:
1. 查看当前队列规则
使用以下命令查看指定网络接口上的队列规则:
tc qdisc show dev eth0
这里的 eth0 是网络接口名称,可以替换为实际的接口名称[1][2]。
2. 添加队列规则
添加队列规则以管理流量,例如使用 HTB(Hierarchical Token Bucket):
tc qdisc add dev eth0 root handle 1: htb default 11
root表示这是根队列。handle 1:定义了队列的句柄。htb指定调度算法为 HTB。default 11表示未匹配流量的默认分类[1][2][3]。
3. 删除队列规则
删除某个网络接口上的根队列规则:
tc qdisc del dev eth0 root
这将清除所有与该接口相关的流量控制规则[1][3]。
4. 创建类
为队列创建分类规则,并设置带宽限制:
tc class add dev eth0 parent 1: classid 1:1 htb rate 10mbps
parent 1:指定父级队列(如根队列)。classid 1:1定义类的 ID。rate 10mbps设置带宽限制为 10 Mbps[1][2][4]。
5. 添加过滤器
过滤器用于将数据包分配到特定的类。例如,将目标端口为 80 的流量分配到类 1:1:
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \
match ip dport 80 0xffff flowid 1:1
protocol ip指定协议类型。match ip dport 80匹配目标端口为 80 的数据包。flowid 1:1将匹配的数据包分配到类1:1[1][2].
6. 模拟网络延迟和丢包
设置延迟:
tc qdisc add dev eth0 root netem delay 100ms
- 为所有流量添加 100 毫秒延迟。
设置丢包率:
tc qdisc add dev eth0 root netem loss 10%
- 模拟丢包率为 10%[3][6].
7. 列出和监控策略
列出已有策略:
tc -s qdisc ls dev eth0
实时监控流量和状态:
tc -s monitor
这些命令可以帮助管理员查看当前配置和实时流量信息[3][4].
8. 示例:限制带宽
以下是一个完整的带宽限制示例,限制网卡 eth0 的带宽为 500 Kbps:
# 添加根队列规则
tc qdisc add dev eth0 root handle 1: tbf rate 500Kbit latency 50ms burst 15kb# 查看配置
tc -s qdisc ls dev eth0# 删除规则(解除限制)
tc qdisc del dev eth0 root
这里使用了 TBF(Token Bucket Filter)算法,适合简单的速率控制[3].
通过以上命令,您可以灵活地使用 tc 来实现带宽限制、流量分类、延迟模拟等功能,以满足不同的网络管理需求。
Citations:
[1] https://my.oschina.net/emacs_8759915/blog/17197682
[2] https://www.cnblogs.com/lushichao/p/17477558.html
[3] https://blog.csdn.net/wsuyixing/article/details/125812823
[4] https://blog.csdn.net/mimiduck/article/details/111184980
[5] https://catbro666.github.io/posts/357ad3ec/
[6] https://www.cnblogs.com/sunsky303/p/14250452.html
[7] https://www.strickland.cloud/post/2
[8] https://arthurchiao.github.io/blog/lartc-qdisc-zh/
相关文章:
在 Linux 系统中,tc(Traffic Control) QoS 常用命令简介
在 Linux 系统中,tc(Traffic Control)命令是一个强大的工具,用于配置和管理网络流量控制。以下是 tc 命令的常用功能和基本用法: 1. 查看当前队列规则 使用以下命令查看指定网络接口上的队列规则: tc qd…...
如何画产品功能图、结构图
功能图的类型 常见的功能图包括数据流图、用例图、活动图、状态图、类图、组件图、部署图等等,不同的应用场景和目标下,需要确定不同的功能图类型。 数据流图 用例图 状态图 类图 组件图 组件图是由软件系统、组件和组件之间的关系组成的图形…...
4090单卡挑战DeepSeek r1 671b:尝试量化后的心得的分享
引言: 最近,DeepSeek-R1在完全开源的背景下,与OpenAI的O1推理模型展开了激烈竞争,引发了广泛关注。为了让更多本地用户能够运行DeepSeek,我们成功将R1 671B参数模型从720GB压缩至131GB,减少了80%ÿ…...
SpringBoot速成(12)文章分类P15-P19
1.新增文章分类 1.Postman登录不上,可以从头registe->login一个新的成员:注意,跳转多个url时,post/get/patch记得修改成controller类中对应方法上写的 2.postman运行成功: 但表中不更新:细节有问题: c是…...
C++17中的clamp函数
一、std::clamp() 其实在前面简单介绍过这个函数,但当时只是一个集中的说明,为了更好的理解std::clamp的应用,本篇再详细进行阐述一次。std::clamp在C17中其定义的方式为: template< class T > constexpr const T& cl…...
配置Open-R1,评测第三方蒸馏模型的性能1
年前DeepSeek不温不火,问题的响应极。一回车,就看模型如口吐莲花般,先是输出思维过程,虽然中间绕来绕去,但是输出回答时还是准确而简洁的。比如,用它来读当时出来的几篇文章,确实大大提升了效率…...
Chrome插件开发流程
Chrome插件开发流程可以分为以下几个主要步骤: ### 1. 确定插件功能和目标 在开始开发之前,首先需要明确插件的功能和目标。这包括: - **功能定义**:确定插件要解决的问题或提供的功能。 - **市场分析**:了解目标用户群…...
物联网行业通识:从入门到深度解析
物联网行业通识:从入门到深度解析 (图1:物联网生态示意图) 一、引言:万物互联时代的到来 根据IDC最新预测,到2025年全球物联网设备连接数将突破410亿,市场规模达1.1万亿美元。物联网ÿ…...
【做一个微信小程序】校园事件页面实现
前言 为了进一步扩展校园事件页面的功能,我们可以添加 搜索、分类筛选 和 渐变卡片色 等特性。以下是详细的方案和源码实现。 扩展功能设计 1. 搜索功能 在页面顶部添加搜索框,用户输入关键词后,筛选出匹配的事件。2. 分类筛选 在页面顶部添加分类标签(如“全部”、“活动…...
C++基础系列【14】继承与多态
博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇…...
DeepSeek-R1 大模型本地部署指南
文章目录 一、系统要求硬件要求软件环境 二、部署流程1. 环境准备2. 模型获取3. 推理代码配置4. 启动推理服务 三、优化方案1. 显存优化技术2. 性能加速方案 四、部署验证健康检查脚本预期输出特征 五、常见问题解决1. CUDA内存不足2. 分词器警告处理3. 多GPU部署 六、安全合规…...
在conda环境下,安装Pytorch和CUDA
系统 : Ubuntu20.04 显卡:NVIDIA GTX1650 显卡驱动已经装好(命令 nvidia-smi 查看显卡配置) (主要看一下第一行的参数,最大支持的CUDA版本为12.4 ) Aanconda 版本(安装指南)(似乎…...
Java里int和Integer的区别?
大家好,我是锋哥。今天分享关于【Java里int和Integer的区别?】面试题。希望对大家有帮助; Java里int和Integer的区别? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Java 中,int 和 Integer 都是用来表…...
【第13章:自监督学习与少样本学习—13.4 自监督学习与少样本学习的未来研究方向与挑战】
凌晨三点的实验室里,博士生小张盯着屏幕上的训练曲线——他设计的跨模态少样本学习模型在医疗影像诊断任务上突然出现了诡异的性能断崖。前一秒还在92%的准确率高位运行,下一秒就暴跌到47%。这个看似灾难性的现象,却意外揭开了自监督学习与少样本学习技术深藏的核心挑战… 一…...
【NLP】文本预处理
目录 一、文本处理的基本方法 1.1 分词 1.2 命名体实体识别 1.3 词性标注 二、文本张量的表示形式 2.1 one-hot编码 2.2 word2vec 模型 2.2.1 CBOW模式 2.2.2 skipgram模式 2.3 词嵌入word embedding 三、文本数据分析 3.1 标签数量分布 3.2 句子长度分布 3.3 词…...
deepseek r1从零搭建本地知识库10:嵌入模型和知识库建设
一、嵌入模型(Embedding Model)是什么? 1. 定义 嵌入模型是一种将文本、图像、音频等非结构化数据转化为**低维稠密向量(Dense Vector)**的算法模型,这些向量(通常几百到几千维)能够…...
Linux-文件IO
1.open函数 【1】基本概念和使用 #include <fcntl.h> int open(const char *pathname,int flags); int open(const char *pathname,int flags,mode_t mode); 功能: 打开或创建文件 参数: pathname //打开的文件名 f…...
3d pose 学习笔记2025
目录 champ nlf 3dpose 2025 55个关键点 推理代码: 要设置环境变量: 依赖项metrabs 渲染代码: tram4d 脚也不是特别好 GVHMR脚对不齐 推理代码: multiperson 2023年 genhmr还没开源: champ https://zhuanlan.zhihu.com/p/700326554 nlf 3dpose 2025 55个关键点…...
LC-随机链表的复制、排序链表、合并K个升序链表、LRU缓存
随机链表的复制 为了在 O(n) 时间复杂度内解决这个问题,并且使用 O(1) 的额外空间,可以利用以下技巧: 将新节点插入到原节点后面:我们可以将复制节点插入到原节点后面。例如,如果链表是 A -> B -> C,…...
静态页面在安卓端可以正常显示,但是在ios打开这个页面就需要刷新才能显示全图片
这个问题可能有几个原因导致,我来分析一下并给出解决方案: 首要问题是懒加载实现方式的兼容性问题。当前的懒加载实现可能在 iOS 上不够稳定。建议修改图片懒加载的实现方式: // 使用 Intersection Observer API 实现懒加载 function initLazyLoading() {const imageObserver…...
Tilde:让 AI 智能体在生产环境安全运行,具备可回滚、隔离、审计等特性
Tilde:让 AI 智能体在生产环境安全运行Tilde 致力于让 AI 智能体在生产环境中安全运行,它将每次智能体运行转化为可回滚的事务。来自 GitHub 的代码、S3 的数据以及 Google Drive 的文档,都能以单一版本化文件系统的形式呈现,每个…...
抖音内容管理革命:如何用自动化工具将素材收集效率提升15倍
抖音内容管理革命:如何用自动化工具将素材收集效率提升15倍 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback …...
你的Touchstone文件用对了吗?详解.s1p/.s2p/.snp格式差异与ADS仿真避坑指南
你的Touchstone文件用对了吗?详解.s1p/.s2p/.snp格式差异与ADS仿真避坑指南 在射频和微波电路设计中,Touchstone文件(.s1p/.s2p/.snp)作为标准化的S参数数据载体,是工程师进行系统级仿真的重要基础。然而,许…...
AI智能体记忆系统构建:从向量检索到LangChain集成实践
1. 项目概述:为什么我们需要为AI智能体构建“记忆宫殿”?最近在折腾AI智能体(Agent)开发的朋友,估计都遇到过同一个头疼的问题:你精心设计的智能体,在一次对话中表现得像个天才,能完…...
口碑好的底盘养护揭秘
常见汽车底盘问题及危害分析一、底盘异常的典型表现经常用车的朋友可能都遇到过类似情况:方向盘明明回正,车辆却自动偏向一侧,必须用力握紧才能保持直行;轮胎行驶里程不多,但一侧花纹已磨光,另一侧却还很深…...
TranslucentTB完整教程:三步打造Windows任务栏个性化终极方案
TranslucentTB完整教程:三步打造Windows任务栏个性化终极方案 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB TranslucentTB是…...
告别枯燥重复:MAA明日方舟助手如何用智能自动化帮你每天节省2小时游戏时间
告别枯燥重复:MAA明日方舟助手如何用智能自动化帮你每天节省2小时游戏时间 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项…...
Nim语言构建智能抓取技能:高性能爬虫引擎的设计与实现
1. 项目概述:一个Nim语言编写的“智能抓取”技能最近在开源社区里,我注意到一个挺有意思的项目,叫d-wwei/openclaw-nim-skill。光看这个名字,就能拆解出几个关键信息点:openclaw暗示了“开放之爪”,指向某种…...
30秒找回QQ号:手机号查询工具的三大核心优势
30秒找回QQ号:手机号查询工具的三大核心优势 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾因忘记QQ账号而无法登录?或者需要验证某个手机号绑定的QQ账号?phone2qq工具为你提供了一个快速…...
如何为Android TV添加虚拟鼠标功能:MATVT完整使用指南
如何为Android TV添加虚拟鼠标功能:MATVT完整使用指南 【免费下载链接】matvt Virtual Mouse for Android TV that can be controlled via remote itself. 项目地址: https://gitcode.com/gh_mirrors/ma/matvt Android TV虚拟鼠标工具MATVT(Mouse…...
