当前位置: 首页 > news >正文

生产事故:Undertow容器的xnio线程引发CPU100%的方案验证后续(二)

字数 161,阅读大约需 1 分钟

生产事故:Undertow容器的xnio线程引发CPU100%的排查解决思路

从前面那篇文章分析之后,得出如下两个解决方式:

1. 系统对高并发、高性能的要求不高。通过在启动参数加如下参数,不走epoll模式
-Dxnio.nio.selector.provider=sun.nio.ch.PollSelectorProvider
2. 切换web容器:undertow切换成tomcat+netty模式

通过现场验证之后:

方式1,换成PollSelectorProvider之后,依旧会出现CPU100%

id=47, name=XNIO-1 I/O-5, used=272.858s, (%)cpu=98, RUNNABLE
    sun.nio.ch..PollArrayWrapper.poll0(Native Method)
    sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:115)
    sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:87)
    sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
    sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
    sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
    org.xnio.nio.WorkerThread.run(WorkerThread.java:544)

故此,方式1的配置是无效的,已废弃。

方式2:切换web容器:undertow切换成tomcat+netty模式。

方式2 最终验证是可行的

最终把undertow 更换成 tomcat 就正常了。

相关文章:

  • Spring MVC与Spring Boot文件上传配置差异对比及文件上传关键类详细说明与对比
  • 【小沐杂货铺】基于Three.JS绘制太阳系Solar System(GIS 、WebGL、vue、react,提供全部源代码)
  • 谈Linux之磁盘管理——万字详解
  • CMDB平台(进阶篇):机房拓扑功能深度解析
  • css使用mix-blend-mode的值difference实现内容和父节点反色
  • redis的数据类型(1)
  • 12、主频和时钟配置实验
  • PhotoShop学习06
  • SpringBoot学生评奖评优管理系统的设计与实现
  • SpringBoot3笔记
  • C++中如何比较两个字符串的大小--compare()函数实现
  • 空对象模式(Null Object Pattern)在C#中的实现详解
  • 【区块链+ 人才服务】北京师范大学区块链底层链平台 | FISCO BCOS 应用案例
  • 2024年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析
  • PyTorch 学习笔记
  • C#实现实时读取西门子PLC数据,并存到Redis数据库中
  • Scala 异常处理
  • 如何高效生成达梦数据库测试数据?官方管理工具来了!
  • 蓝桥杯 2. 开赛主题曲【算法赛】
  • 基于AI设计开发出来的业务系统是什么样的?没有菜单?没有表格?
  • 福州开发企业网站/百度最新版下载
  • 宁波网络推广优化方案/邯郸网站优化公司
  • 怎么创建网站快捷方式到桌面/怎么创建网站免费建立个人网站
  • 澳门捕鱼网站网址/郑州seo服务
  • 青岛开发区网站建设/重庆百度推广开户
  • 上海网络广告推广平台/南阳seo优化