问题现象

点击某一个dee任务查看详细,系统立即宕机,各页面无响应,java进程存在。

分析处理过程

1、尝试部署SeeyonDumpTools跟踪,对此问题未能有效,宕机前各项指标正常,宕机后无法导出各dump文件;

2、尝试部署arthas以及火焰图工具跟踪,宕机前接入正常,点击dee任务以后arthas控制台也假死无任何响应;

3、top命令查看,java进程存在,cpu使用率持续200%左右;

4、手工执行jstack <pid>尝试导出线程dump失败,导出命令一直卡住;

5、jstack命令存在强制导出线程dump的参数,查看其使用说明 jstack --help

Usage:

……

Options:

-F  to force a thread dump. Use when jstack <pid> does not respond (process is hung)

jstack -F <pid>成功导出了线程dump文件;

6、top  -Hp  <pid>命令查看线程资源消耗,发现两个线程id各消耗cpu100%左右;

7、在第5步导出的线程dump文件中搜索第6步操作发现的两个线程id,找到关键信息;

几乎所有线程都是(state = BLOCKED)

搜索到的线程Thread 9101: (state = IN_JAVA)

com.alibaba.fastjson.JSON.toJSONString

8、dee开发肖左伟提供跟踪包,输出json发现跟踪对象15M大小,确认了宕机问题点,分析及处理过程如下。

1)、dee出问题代码:

ConfigInfo configInfo = JSONUtil.parseJSONString(adaptersDetal.get(name + ".interfaceData").toString(), ConfigInfo.class);

2)、报错:Thread 11254: (state = IN_JAVA)

- com.alibaba.fastjson.serializer.SerializeWriter.writeStringWithDoubleQuote(java.lang.String, char) @bci=959, line=1002 (Compiled frame; information may be imprecise)

- com.alibaba.fastjson.serializer.SerializeWriter.writeString(java.lang.String) @bci=18, line=2189 (Compiled frame)

- com.alibaba.fastjson.serializer.StringCodec.write(com.alibaba.fastjson.serializer.JSONSerializer, java.lang.String) @bci=19, line=46 (Compiled frame)

3)、原因:JSONUtil.parseJSONString(dataXml)反序列化时,由于dataXml太大(15M多),猜测死循环了,导致cpu 200%,其他所有线程BLOCKED,表现为宕机不响应任何请求

处理办法

在记录同步底表接口时将数据量大的interface参数赋值为空,存储的日志从15M多减小到现在的7KB。打上补丁后,再次点击对应功能,一切正常,问题到此处理完毕。

【致远FAQ】致远OA宕机之DEE引发宕机相关推荐

  1. java osta_Java语言程序设计_科泰计算机学校用户致胜口碑致远

    Java语言程序设计,科泰计算机学校用户致胜口碑致远,  2.获得国家劳动和社会保障部OSTA职业资格认证  3.获得国际软件工程师认证. Java语言程序设计, 进制I/O不需要转换,所以进制I/O ...

  2. 远程调用python_远的解释|远的意思|汉典“远”字的基本解释

    详细字义 ◎ 远 遠 yuǎn 〈形〉 (1) (形声.从辵( chuò),袁声.本义:走路走得长) (2) 同本义 [far;distant].引申距离大,相隔远.与近相对 远,辽也.--<说 ...

  3. 开源中国20份毕业设计论文致谢,谢辞,大学生的毕业论文致谢词,致谢词的范文...

    20份毕业设计论文致谢内容,你可以下载参考学习,大学生的毕业论文致谢词,致谢词的范文,毕业论文致谢部分,毕业论文致谢信等 大专相关毕业设计论文致谢 1. 在毕业设计和论文编写的过程中,我始终得到了指导 ...

  4. java 宕机_Java应用/JVM宕机排查步骤操作

    相信大家都遇到过,自己的Java应用运行一段时间就宕机了或者响应请求特别慢.这时候就需要我们了来找出问题所在了.绝大部分都是代码问题导致的. 一.服务宕机 如果是服务宕机,发生致命问题导致进程已经死掉 ...

  5. 有多远滚多远 html5游戏,68微信游戏有多远滚多远怎样能得高分

    68微信游戏有多远滚多远怎样能得高分以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 68微信游戏有多远滚多远怎样能得高分 ...

  6. 有多远滚多远 html5游戏,自以为聪明的说说 有多远滚多远

    人人都以为自己是别人聪明,有时候在做事情上,就喜欢耍一个小聪明,自以为聪明的说说有哪些?有多远滚多远说说: 自以为聪明的说说: 1.我们自以为很聪明,确实也很聪明.但是,我们太聪明了,往往就让别人吃了 ...

  7. 2021年度总结 -- 致自己也致你们

    2021年度总结 – 致自己也致你们 ⭐️2021再见!2022你好!⭐️ 目录 2021年度总结 -- 致自己也致你们 迷茫的前两年 大三狗的自我反思 你好,2022 再立flag 写在最后 迷茫的 ...

  8. 从运动脑机接口到情绪脑机接口:情绪脑机接口

    脑机接口恢复失去的情绪功能 一般来说,用作电刺激的情绪脑机接口有两个主要成分(图3a):相关情绪状态的神经解码器(图3b)和反馈控制器(图3c),用解码的情绪作为反馈来调整刺激参数.运动脑机接口可以是 ...

  9. 物联网卡广告机相比传统的广告机有哪些优势?

    这些年来随着我国物联网技术的不断发展,广告机的应用也在发生着翻天覆地的变化.广告机也在由原来的液晶广告机开始转向与网络广告机.触屏广告机.共享广告机等发展. 现在大多数商家也在采用共享广告机开实现店铺 ...

最新文章

  1. android组件权限,Android中Permission权限机制的具体使用
  2. CTF web题总结--上传文件绕过
  3. MAVEN 自定义骨架
  4. HtmlAgilityPack 之 HtmlNode类
  5. 什么是透明传输 点对多传输? 它们有哪些经典应用和优势特点
  6. 第三十二期:MySQL常见的图形化工具
  7. Java序列化的这三个坑千万要小心
  8. java 连接oracle_「事件驱动架构」使用GoldenGate创建从Oracle到Kafka的CDC事件流
  9. 实验3: DHCP 基本配置
  10. 企业级 SpringBoot 教程 (十三)springboot集成spring cache
  11. c++函数如何返回一个vector_如何将Python的一个函数进行超时限制
  12. 图解: 线程状态转换(线程生命周期这一篇够用了)
  13. Linux的shell计算下一次生日
  14. 转:性、恐惧、爱、信念,管理者一生都逃不掉的课题
  15. Python生成二维码的操作方法
  16. 【武忠祥高等数学基础课笔记】定积分
  17. DDD理论学习系列(7)-- 值对象
  18. 硬盘的读写速度如何计算
  19. Django企业开发实战--by胡阳,学习记录1117
  20. java开发实战经典(第二版)P528 14-2

热门文章

  1. 【新知实验室】快速实现视频应用
  2. 深度学习数据增强数据扩增方法
  3. 比editplus好用的编辑器sublime text3
  4. linux服务器杀毒软件命令,悬镜Linux服务器卫士-木马查杀详解
  5. 面向移动设备的html5开发框架
  6. java bigdecimal 开方_JAVA BigDecimal使用牛顿迭代法计算平方根(开方)
  7. 神经元的结构模型图片,神经元模型图片解析
  8. Ubuntu解决外接2K屏分辨率低问题
  9. 并发编程面试宝典(内含69道常问面试题及答案解析)
  10. C++中定义别名的几种方式总结