Linux丢包故障的定位与解决(自驾_ROS)

参考【https://www.cnblogs.com/zhangmingda/p/11671970.html】

链路层问题排查

netstat -i 查看关注的接口RX/TX-DRP和/RX/TX-OVR是否存在丢包

cat /proc/net/dev查看Receive与Transmit的fifo列,如果不为0说明存在ring buffer到达/生成速率高于内核处理速率,如果fifo数持续增大,确认CPU中断是否分配均匀:

cat /proc/interrupts | grep eth0 #获取中断号

cat /proc/irq/$eth0_irq_number

也可以尝试增加Ring Buffer的大小,通过ethtool -g eth0可以查看网卡设备Ring Buffer最大值,ethtool -G修改Ring Buffer当前设置,一般不建议这么做

检查有无内核backlog队列(内核从适配器收到包后交由协议栈处理前的缓冲队列)溢出情况:

cat /proc/net/softnet_stat

每一行代表每个CPU核的状态统计,从CPU0依次往下

每一列代表一个CPU核的各项统计:第一列代表中断处理程序收到的包总数;第二列即代表由于netdev_max_backlog队列溢出而被丢弃的包总数

解决方法:调整net.core.netdev_max_backlog

反向路由过滤:略,一般能ping通就不存在此问题

半连接队列溢出:通过netstat -natp | grep SYN_RECV | wc -l查看当前半连接数,与系统最大半连接数设置对比tcp_max_syn_backlog

链接跟踪数:

# 查看nf_conntrack表最大连接数

$ cat /proc/sys/net/netfilter/nf_conntrack_max

65536

# 查看nf_conntrack表当前连接数

$ cat /proc/sys/net/netfilter/nf_conntrack_count

7611

PAWS机制:netstat -s |grep -e "passive connections rejected because of time stamp" -e "packets rejects in established connections because of timestamp"

$ sysctl net.ipv4.tcp_tw_recycle

net.ipv4.tcp_tw_recycle = 1

$ sysctl net.ipv4.tcp_timestamps

net.ipv4.tcp_timestamps = 1

如果同时为1可能有问题

TIME_WAIT过高,设置tcp_tw_recycle = 1

开启 快速重传

mtr实时查看丢包率

ss -anti |grep -B 1 retrans 查看重传的具体端口

网络层问题排查

netstat -s

dmesg | grep -E "nf_conntrack:|table full|dropping package"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/27977.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业化运维(2)_nginx

###1.nginx源码安装部署### ###2.平滑升级### (1)版本升级 当服务器在运行时,需要升级的情况下,平滑升级即就是不断开服务器就可以进行升级,最大限度保证数据的完整性。 下载nginx新版本软件,正常执行./c…

PHP入门教程1:PHP的基础概念和基本语法

本文将从基础开始,介绍PHP的基础概念和基本语法。 PHP简介环境搭建基本语法变量和常量数据类型操作符常见错误和调试方法 1. PHP简介 PHP,全称是 “PHP: Hypertext Preprocessor”,是一种开源的通用脚本语言,尤其适用于Web开发…

蔡崇信“预言”:微软与OpenAI未来极有可能会分道扬镳

近日,在美国投行摩根大通于上海举行的第二十届全球中国峰会上,阿里巴巴集团联合创始人、董事局主席蔡崇信与摩根大通北亚区董事长兼大中华区投资银行业务副主席关金星(Kam Shing Kwang)进行了一场精彩对话。蔡崇信深入分享了他对公…

GitHub每周最火火火项目(6.10-6.16)

好的,以下是按照你的要求对每个项目进行的总结: 项目名称:roboflow / supervision 项目介绍:supervision 是一个用于计算机视觉的工具库,它提供了一系列的工具和函数,帮助用户更轻松地进行图像和视频数据的…

JAVA学习-练习试用Java实现“交错字符串”

问题: 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: s s1 s2 ... sn t t1 t2 ... tm |n - m…

下载站名文件

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 得到了请求地址与请求参数后,可以发现请求参数中的出发地与目的地均为车站名的英文缩写。而这个英文缩写的字母是通过输入中文车站名转换…

Linux 文件的权限信息解读 chmod修改权限 数字序号表示权限

ls -l #列出当前文件 显示详细信息 drwxr-xr-x. 2 dpc test 6 Jun 15 07:45 test.txt共分为三部分 drwxr-xr-x.:表示文件和文件夹的权限信息dpc :文件,文件夹所属的用户test : 文件和文件夹所属的用户组 drwxr-xr-x 解读 d表示为…

LeetCode538.把二叉搜索树转换为累加树

class Solution { public:int sum 0; TreeNode* convertBST(TreeNode* root) { if (root){convertBST(root->right);sum root->val;root->val sum;convertBST(root->left);}return root;}};

hugo-magic主题使用教程(一)

前提条件 以下教程以windows10为例操作终端使用git bash魔法上网的前提下 下载hugo https://github.com/gohugoio/hugo/releases/download/v0.127.0/hugo_extended_0.127.0_windows-amd64.zip解压到任意目录,然后将目录添加到系统环境变量 如图 (windows)打开cmd 输入 hugo …

【CTS】android CTS测试

android CTS测试 1.硬件准备2. 软件准备3. 下载 CTS3.1 cts3.2 解压 CTS 包: 4 配置adb fastboot5 检查 Java 版本6 安装aapt26.1 下载并安装 Android SDK6.2 找到 aapt2 工具6.3 配置环境变量 7. 准备测试设备8. 运行 CTS 测试8.1 启动 CTS: 9. 查看测试…

Java面试八股之子类可以从父类继承哪些内容

Java子类可以从父类继承哪些内容 Java子类可以从父类继承以下内容: 属性(Fields/Variables): public:子类可以继承父类所有的public修饰的属性。 protected:子类可以继承父类所有的protected修饰的属性…

uniapp中unicloud接入支付宝订阅消息完整教程

经过无数次的尝试,终于还是让我做出来了 准备工作 设置接口加签方式 使用支付宝小程序订阅消息,首先要设置接口加签方式,需要下载支付宝开放平台密钥工具,按照步骤生成秘钥,然后按照支付宝设置密钥加签方式添加接口加签方式。 有一点需要注意的,因为要在云函数中使用,…

github.com/therecipe/qt windows中安装

github.com/therecipe/qt windows中安装 a.准备好源码,解压到go/src/github.com/therecipe/qtwin下 b.设置cmd环境变量: set QT_DIRM:\work\tool\Qt5.14.2\5.14.2\mingw73_64 set QT_VERSION5.14.2 set QT_API5.13.0 set QT_QMAKE_DIRM:\work\tool\Qt5.14.2\5.14.2\mingw73_64\…

基于YOLOv5的钢材表面缺陷检测

配置环境 conda create -n yolo pip install -r requirements.txt -i https://repo.huaweicloud.com/repository/pypi/simple # 亲测华为云最稳定# 如果在下载时提示timeout,试试这句命令: pip --default-timeout=100 install -r requirements.txt -i https://repo.huaweicl…

STM32定时器篇——Systick定时器的使用(实现delay延时函数)

一、Systick定时器的简介: Systick定时器就是系统滴答定时器,一个24 位的倒计数定时器对于CM3,CM4内核芯片,都有Systick定时器。当Systick计到0时,将从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysTick 控制及状态寄存器中…

AI数据分析:根据Excel表格数据进行时间序列分析

ChatGPT中输入提示词: 你是一个Python编程专家,要完成一个Python脚本编写的任务,具体步骤如下: 读取Excel表格:"F:\AI自媒体内容\AI行业数据分析\toolify月榜\toolify2023年-2024年月排行榜汇总数据.xlsx"…

如何设计网站

设计网站是一个复杂而又有趣的过程。一个好的网站设计不仅可以吸引用户的注意力,还能提供良好的用户体验。下面我将分享一些关于如何设计网站的基本原则。 首先,需要明确网站的目标和受众。在设计网站之前,你应该明确你的网站的目标是什么。你…

ROS-SLAM雷达

使用前准备工作 1、新建工作空间、编译功能包 以建立名字为rplidar_ws为例,终端输入 mkdir rplidar_ws cd rplidar_ws mkdir src cd src catkin_init_workspace rplidar_ros功能包:git下载。 https://github.com/Slamtec/rplidar_ros/ 然后把解压的…

Linux-Tomcat服务配置到系统服务

目录 前言一、系统环境二、配置步骤step1 了解环境的安装路径step2 配置生成tomcat.pid文件step3 配置tomcat.service文件 三、测试systemctl命令管理Tomcat服务3.1 systemctl命令启动Tomcat服务3.2 systemctl命令查看Tomcat服务3.3 systemctl命令关闭Tomcat服务3.4 systemctl命…

CentOS下 conda环境设置

conda环境设置 镜像设置 [pythoningdev ~]$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/代理设置 $HOME/.condarc 文件中 这个文件中可以看到镜像源信息(如果配置了的话),在下面加上proxy就可以…