linux 从softnet_stat查看内核丢包信息
1、从系统整体来考虑,通过netstat 查看:
[root@localhost net]# netstat -s |grep drop
3168 outgoing packets dropped
15184 SYNs to LISTEN sockets dropped
2、从cpu角度来考虑,通过cat /proc/net/softnet_stat查看:
cat /proc/net/softnet_stat 05e4b183 0000007c 01655efc 057c0001 0000007d 04f4078d 0000006a 01658db4 047e1d5c 0000007f 01655cbe 044aa9f7 0165a323 0164b10c 043e9dfc 0000009d 0164c562 0000008f 0164fe53 0434a871 0000009b 043f4ed3 0000009f 01655e71 044775a0 0000009d 016517ba 044b5259 000000a3 016508f2 045eaab3 0000009c 045bbc3a 000000a7 016510f3 0449ed94 000000ad 016599d2 0455b589 016489f9 04585e74 01657eee 046c86e9 01654cd7 03f2dcbb 0164a311 03ed4615 0000009e 01648dd1 053fdf58 0000008b 016fd7fa 050683cb 000000a0 01717e2f 04a2add6 01717ee3 045a33e3 000000a1 0445ab77 0000008e 0170ea41 01714fa4 04345ccd 01721a2b 04350dec 0000008d 01722db2 04339c71 017173fc 044379f3 0000008d 0171e9cb 0427bc92 0171b271 0437a0b3 0000008b 0171561d 0444b485 0173080d 044786fc 0000008b 043b5c96 000000a0 017143ed 04329ef8 044d9137 0000008e 01720c75 044f11a2 0170a862 04614eaf 0000009a 017232d7 0453a0d0 0172ff7a 0529bbfd 000000a7 01639da0
各列的含义如下:
static int softnet_seq_show(struct seq_file *seq, void *v) { struct softnet_data *sd = v; seq_printf(seq, "%08x %08x %08x %08x %08x %08x %08x %08x %08x %08x\n", sd->processed, sd->dropped, sd->time_squeeze, , , , , , /* was fastroute */ sd->cpu_collision, sd->received_rps); return ; }
每一行是每个核的情况,第一列是收到的报文,第二列是drop的报文,由于netdev_max_backlog队列溢出而被丢弃的包总数。第三列是net_rx_action中收包,一次的软中断的触发还不能处理完目前已经接收的数据,因而要设置下轮软中断,time_squeeze 就表示设置的次数.倒数第二例是cpu冲突的次数,最后一列是rps的次数。如果第二列有数值,则可以通过下面方式来尝试规避:
cat /proc/sys/net/core/netdev_max_backlog
65536
将这个值改大。
3.从设备角度来考虑:
ethtool -S eth0|grep drop
rx_dropped: 0
tx_dropped: 0
port.rx_dropped: 0
port.tx_dropped_link_down: 0
linux 从softnet_stat查看内核丢包信息的更多相关文章
- linux系统如何查看内核版本、操作系统版本等信息
有时候需要查看linux系统的内核版本,可以有多种方法,方法如下:(下面以优麒麟系统为例) 方法1: 打开mate终端,在命令行输入以下命令: uname -a 运行效果如下: 如果只查看内核 ...
- Linux slabtop命令——显示内核片缓存信息
Linux内核需要为临时对象如任务或者设备结构和节点分配内存,缓存分配器管理着这些类型对象的缓存.现代Linux内核部署了该缓存分配器以持有缓存,称之为片.不同类型的片缓存由片分配器维护. slabt ...
- linux环境中,查看域名的DNS信息?
需求说明: 今天在linux主机上,要查询一个域名是在哪个DNS上进行解析的,这个域名下面还有哪些的地址 操作过程: 1.linux环境中通过nslookup命令来进行查看 [deployer@CBS ...
- Linux命令 dmesg:分析内核产生的信息
案例一 输出所有的内核开机时的信息 zh@zh:~$dmesg | more 案例二 查找开机的时候硬盘的相关信息
- linux操作系统下查看某rpm包是32bit 还是x64bit的命令
[root@hosta ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep l ...
- linux 系统 UDP 丢包问题分析思路
转自:http://cizixs.com/2018/01/13/linux-udp-packet-drop-debug?hmsr=toutiao.io&utm_medium=toutiao.i ...
- Linux UDP严重丢包问题的解决
测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%.同等情形下Windows上测试,仅丢几条数据.形势严峻,必须解决.考虑可能是因为协议栈B ...
- 【Linux基础】查看硬件信息-系统
1.查看计算机名 hostname 2.查看内核/操作系统/CPU信息 uname -a 4.查看操作系统版本(Linux) head -n 2 /etc/issue Red Hat Enterp ...
- 性能测试四十六:Linux 从网卡模拟延时和丢包的实现
Linux 中模拟延时和丢包的实现 使用ifconfig命令查看网卡 Linux 中使用 tc 进行流量管理.具体命令的使用参考 tc 的 man 手册,这里简单记录一下使用 tc 模拟延时和丢包的命 ...
随机推荐
- uC/OS-II 内存管理
UC/OS-II 内存管理 1. 简介 uC/OS-II 不使用ANSI编译器的malloc(), free(),因为内存碎片,很可能获取不到一块连续的内存, 这在嵌入式系统中是很危险的.同时 ...
- .net的retrofit--WebApiClient库深入篇
前言 本篇文章的内容是对上一篇.net的retrofit--WebApiClient库的深层次补充,你可能需要先阅读上一篇才能理解此篇文章.本文将详细地讲解WebApiClient的原理,结合实际项目 ...
- jq交叉轮播图变种【闪一下黑】
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- .NET Core:使用ImageSharp跨平台处理图像
一.简述 ImageSharp是一个新的跨平台2D图形API,旨在处理图像而不使用System.Drawing. 二.安装 目前ImageSharp还是处于alpha版本,所以我们需要在nuget中添 ...
- spring使用之旅(一) ---- bean的装配
基础配置 启用组件扫描配置 Java类配置文件方式 package com.springapp.mvc.application; import ...
- Yii2.0源码阅读-从路由到控制器
之前的文章弄清了一次请求的开始到结束.主要讲了Yii Applicaton实例的创建.初始化,UrlManager如何返回Yii中的路由信息,到runAction,最后将Response发送给客户端. ...
- js--Dom Bom操作
– 基础 – 内置对象 ● String对象:处理所有的字符串操作 ● Math对象:处理所有的数学运算 ● Date对象:处理日期和时间的存储.转化和表达 ● Array对象:提供 ...
- CTF---Web入门第十二题 程序逻辑问题
程序逻辑问题分值:20 来源: 实验吧 难度:中 参与人数:6909人 Get Flag:1993人 答题人数:2070人 解题通过率:96% 绕过 解题链接: http://ctf5.shiyanb ...
- CTF---密码学入门第四题 困在栅栏里的凯撒
困在栅栏里的凯撒分值:10 来源: 北邮天枢战队 难度:易 参与人数:4531人 Get Flag:2124人 答题人数:2285人 解题通过率:93% 小白发现了一段很6的字符:NlEyQd{sef ...
- stl总结精简版
STL 精简版 vetor #include<vector> #include<cstdio> #include<algorithm> #include<io ...