1、打开网页发现cpu使用率100%

2、后台top,查看了一下,发现原来cpu被ksoftird吃了,

3、使用perf top命令查看:

4、发现ksoftirqd是被e1000_clean与e1000_xmit_frame占用了,

由于e1000_clean与e1000_xmit_frame代表的是网卡,

其中e1000_clean_rx_irq()和e1000_xmit_frame()分别是网卡的收包和发包的核心函数

5、网卡的初始化

e1000网卡的初始化调用函数e1000_probe(),网卡作为一种PCI设备就要初始化PCI设备的一些属性,设置DMA,初始化驱动的操作函数(收包函数、发包函数)、设置循环队列缓冲区大小,把网卡注册到dev_base全局数组中。网卡的收包方式有三种

(1)中断方式:

传统的网卡都采用这种模式,因为传统的网卡收包量不是很大,这种方式就是当有一个数据包来了就产生一个中断,然后cpu就放下手中的事情去把网络数据包拷贝到内存处理,当流量很大时会产生大量的中断,cpu就不断的上下文切换,这样是很损耗cpu的性能,这种只适合网络流量不大的情况。

(2)poll

第二种方式是轮询,设置一个定时器,每隔一定时间cpu就去查看是网卡是否有接受数据包,如果有数据上来就拷贝内存处理,这种方式适合大流量情景,避免cpu产生大量中断。但当网络流量小时,cpu还有不断的去检查网卡就损耗了cpu资源。

(3)DMA

系统会在内存中开辟一个缓冲区环形队列来收发数据包,然后把缓冲区通过DMA映射到网卡,这样网卡收到数据包后就是直接是放到内存的环形队列中,然后产生中断让cpu去处理,这样cpu可以自己干自己的事情,只有当有数据包到来才去内存中处理。
由于我本身没有往该网站打流量,但是通过前端接口的网络流量发现有流量出现,

5、后台转包:tcpdump -i Protect1

发现同一平台,26.116与26.118在进行VRRP主备机交换,由于广播影响,导致我的网站也受到到了影响。
因为vrrp的形式是组播(多播),这个和广播基本一个原理,只不过缩小了范围,让几个服务器能收到,众所周知广播必须在2层里面实现,出3层就出了广播域了,因此不同网段肯定不能形成vrrp。而且vrrp中的ip切换是靠arp欺骗实现的,否则vip从主切度到备得断多少机器,arp欺骗也是没法在出了3层以外的2个机器直接做的。

解决办法关闭vrrp功能。

ksoftirqid进程CPU100%排查相关推荐

  1. 线上CPU100%排查

    线上CPU100%排查 不知道在大家面试中,有没有遇到这个问题: 生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 这个问题分为两版回答! 高调版 对不起, ...

  2. java 进程100_原创:如何排查java进程cpu100%的问题

    cpu是时分(time division)的,操作系统里有很多线程,每个线程的运行时间由cpu决定,cpu会分给每个线程一个时间片,时间片是一个很短的时间长度,如果在时间片内,线程一直占有,则是100 ...

  3. 【原创】谈谈线上CPU100%排查套路

    引言 不知道在大家面试中,有没有遇到这个问题 生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 这个问题分为两版回答! 高调版 对不起,我是做研发的,这个问 ...

  4. 2021最新 阿里云ECS的CPU100%排查

    一.背景和现象 初创公司,架构lanmp,web前端和后端分开服务器,业务驱动主要是nginx和apache,nginx主要是处理静态文件和反向代理,前后端.搜索引擎.缓存.队列等附加的服务都是用do ...

  5. java接口经常变动前端怎么办_Java进程故障排查(CPU资源占用高,接口响应超时,功能接口停滞等)...

    故障分析 # 导致系统不可用情况(频率较大): 1)代码中某个位置读取数据量较大,导致系统内存耗尽,进而出现Full GC次数过多,系统缓慢: 2)代码中有比较消耗CPU的操作,导致CPU过高,系统运 ...

  6. java 僵尸进程_神奇的Java僵尸(defunct)进程问题排查过程

    现象描述 大概1个月多以前 在启动脚本中增加了tail -f 用来启动后追踪日志判断是否启动成功 后发现无法执行shutdown.sh(卡住 利用curl) 然后无奈使用kill -9 但通过ps - ...

  7. Linux进程崩溃排查方法

    dmesg 通过该指令可以查看进程崩溃的相关信息 上图中最后两条即为进程崩溃的日志(该程序执行过两次),通过日志可以看出是在调用libfun.so时出错,在日志中给出了进程崩溃的地址,可以通过addr ...

  8. java defunct_神奇的Java僵尸(defunct)进程问题排查过程

    现象描述 大概1个月多以前 在启动脚本中增加了tail -f 用来启动后追踪日志判断是否启动成功 后发现无法执行shutdown.sh(卡住 利用curl) 然后无奈使用kill -9 但通过ps - ...

  9. pidstat命令(pidstat一键脚本、linux进程异常排查和性能分析)

    pidstat简单说明 pidstat为运维超热门使用工具,比ps命令有更丰富的输出十分方便运维/技术人员对linux系统进行排查. 比如找出具有cpu.ram特征的异常进程(如挖矿木马.死循环疯狂读 ...

最新文章

  1. php怎么生成前端网页,PHP自动生成前端的表单框架
  2. [Ubuntu] 解决 pip 安装 lxml 出现 x86_64-linux-gnu-gcc 异常
  3. win7 ghost 纯净版最新系统下载
  4. python elasticsearch查询_python 查询Elasticsearch的小例子
  5. Linux7改运行级别,Centos7.0修改系统运行级别
  6. 练手级计算机,快来打怪
  7. linux下 卸载qt_Windows 下 Qt creator安装和使用
  8. 有些事,我们逃不掉。有些事,我们逃不掉。
  9. 图像的上采样、下采样
  10. 安装纯净版windows系统,win10企业版LTSC
  11. python求解二元一次方程组代码_如何编程求二元一次方程组的解
  12. 盘点那些被AI换脸、一键“脱”衣所滥用的AI模型
  13. 招银网络2018笔试分享
  14. Word标题跟随正文样式缩进的解决办法
  15. cadence 17.4 + LP Wizard 10.5
  16. Git 版本控制的基本使用教程
  17. 计算机体系结构复习笔记
  18. 数据仓库、数据集市、数据湖,你的企业更适合哪种数据管理架构?
  19. ObjectARX 常见编译错误解决方式记录
  20. 计算机组成原理7-主存储器—存储器与CPU的连接

热门文章

  1. Synopsys Formality 2018操作流程
  2. 青海国家沙漠公园分布及功能区划
  3. 入手评测 i7 13700和13700K的区别 i713700和i713700K差距
  4. 魅族2014发布会简单总结
  5. SpringAOP技术【松思园】
  6. 腾达路由器dns服务器未响应,荣耀猎人游戏路由怎么设置
  7. 如何启用计算机的无线功能键在哪,启动无线功能开关在哪
  8. [乡土民间故事_徐苟三传奇]第廿九回_蠢财主落水知上当
  9. 给本本换硬盘,直接克隆旧盘!
  10. matlab自动生成excel工作区,matlab数据怎么导出excel表格-matlab工作区数据怎么转为excel...