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查看内核丢包信息的更多相关文章

  1. linux系统如何查看内核版本、操作系统版本等信息

    有时候需要查看linux系统的内核版本,可以有多种方法,方法如下:(下面以优麒麟系统为例) 方法1: 打开mate终端,在命令行输入以下命令: uname -a 运行效果如下: ​​​ 如果只查看内核 ...

  2. Linux slabtop命令——显示内核片缓存信息

    Linux内核需要为临时对象如任务或者设备结构和节点分配内存,缓存分配器管理着这些类型对象的缓存.现代Linux内核部署了该缓存分配器以持有缓存,称之为片.不同类型的片缓存由片分配器维护. slabt ...

  3. linux环境中,查看域名的DNS信息?

    需求说明: 今天在linux主机上,要查询一个域名是在哪个DNS上进行解析的,这个域名下面还有哪些的地址 操作过程: 1.linux环境中通过nslookup命令来进行查看 [deployer@CBS ...

  4. Linux命令 dmesg:分析内核产生的信息

    案例一 输出所有的内核开机时的信息 zh@zh:~$dmesg | more 案例二 查找开机的时候硬盘的相关信息

  5. linux操作系统下查看某rpm包是32bit 还是x64bit的命令

    [root@hosta ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep l ...

  6. linux 系统 UDP 丢包问题分析思路

    转自:http://cizixs.com/2018/01/13/linux-udp-packet-drop-debug?hmsr=toutiao.io&utm_medium=toutiao.i ...

  7. Linux UDP严重丢包问题的解决

    测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%.同等情形下Windows上测试,仅丢几条数据.形势严峻,必须解决.考虑可能是因为协议栈B ...

  8. 【Linux基础】查看硬件信息-系统

    1.查看计算机名 hostname 2.查看内核/操作系统/CPU信息 uname -a   4.查看操作系统版本(Linux) head -n 2 /etc/issue Red Hat Enterp ...

  9. 性能测试四十六:Linux 从网卡模拟延时和丢包的实现

    Linux 中模拟延时和丢包的实现 使用ifconfig命令查看网卡 Linux 中使用 tc 进行流量管理.具体命令的使用参考 tc 的 man 手册,这里简单记录一下使用 tc 模拟延时和丢包的命 ...

随机推荐

  1. LindDotNetCore~入门基础

    回到目录 LindDotNetCore基础介绍 运行环境 配置文件 服务的注册 配置文件的注册 服务的使用 配置文件的使用 运行环境 vs2017+.netcore2.0,vs需要升级到最新包 配置文 ...

  2. .net core .net standard .net framework

    由于对微软的技术比较感兴趣,所以最近就在研究用Visual Studio Code开发一个Asp.net core项目并且准备从后端开始干起. 一开始用dotnet new console创建了一个控 ...

  3. 第十一章:Python の 网络编程基础(三)

    本課主題 多线程的创建和使用 消息队列的介绍 Python 操作 memached 和 redis 实战 本周作业 消息队列的介绍 对列是在内存中创建的,如果整个进程里的程序运行完毕之后会被清空,消息 ...

  4. 【树状数组】BZOJ3132 上帝造题的七分钟

    3132: 上帝造题的七分钟 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 1004  Solved: 445[Submit][Status][Dis ...

  5. centos下卸载OpenJDK 并安装sun的jdk

    centos下卸载OpenJDK 并安装sun的jdk 第一步:查看并卸载CentOS自带的OpenJDK 安装好的CentOS会自带OpenJdk,用命令 java -version ,我这里显示下 ...

  6. 优雅的处理Redis访问超时

    很长一段时间以来,一直在项目中使用Redis作为辅助存储,确切来说是利用Redis的内存存储,而不是将其作为缓存.比如常见的利用Set集合来判断某个数值是否存在,或者将来自不同请求的数据放在Redis ...

  7. java_web学习(七) MySQL的配置与安装

    一:下载MySQL 1.进入oracle官网 2. 3. 4. 5. 6. 7. 网址:https://dev.mysql.com/downloads/file/?id=469273 二:配置MySQ ...

  8. Windows下Java环境变量配置

    新建: JAVA_HOMEC:\Program Files\Java\jdk1.8.0_25 新建或添加到开头: PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; C ...

  9. tomcat server location 地址的修改

    如果是目录是灰色,那么请先删除现有的项目,然后Clean 修改之后,发布的目录是.具体目录与tomcat 安装目录相关 access_log

  10. 【JavaScript_DOM 百度搜索框】

    今天给大家带来的事一个简单的百度的历史搜索框,大家在搜索东西的时候,百度会自动给你显示你最近搜索过的一些东西,那这个拿js怎么做呢? 我们一起来学习吧 这是一个HTML页面: <!DOCTYPE ...