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

【案例58】WebSphere输出日志输出慢导致线程被阻塞

问题现象

系统非常卡顿

问题分析

分析javacore文件,寻找关键字,Flat locked by

3LKMONOBJECT       org/apache/logging/log4j/core/appender/OutputStreamManager@0x000000060FB6B3C0: Flat locked by "WebContainer : 3" (J9VMThread:0x0000000007C55A00), entry count 1
3LKWAITERQ            Waiting to enter:
3LKWAITER                "WorkManager.MulticastWM : 19" (J9VMThread:0x000000000380D000)
3LKWAITER                "WebContainer : 8" (J9VMThread:0x0000000007EF2000)
3LKWAITER                "WebContainer : 10" (J9VMThread:0x0000000008B53E00)
3LKWAITER                "WorkManager.MulticastWM : 49" (J9VMThread:0x00000000089A7600)
3LKWAITER                "WebContainer : 16" (J9VMThread:0x0000000008EB8D00)

3号线程阻塞8、10、16、19号线程,发现相关线程,查看3号线程具体信息,非NCC代码原因造成。

3XMTHREADBLOCK     Blocked on: org/apache/logging/log4j/core/appender/OutputStreamManager@0x000000060FB6B3C0 Owned by: "WebContainer : 3" (J9VMThread:0x0000000007C55A00, java/lang/Thread:0x00000006152DF108)
3XMHEAPALLOC             Heap bytes allocated since last GC cycle=24576 (0x6000)
3XMTHREADINFO3           Java callstack:
4XESTACKTRACE                at org/apache/logging/log4j/core/appender/OutputStreamManager.writeBytes(OutputStreamManager.java:352(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/layout/TextEncoderHelper.writeEncodedText(TextEncoderHelper.java:96(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/layout/TextEncoderHelper.encodeText(TextEncoderHelper.java:65(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/layout/StringBuilderEncoder.encode(StringBuilderEncoder.java:68(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/layout/StringBuilderEncoder.encode(StringBuilderEncoder.java:32(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/layout/PatternLayout.encode(PatternLayout.java:228(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/layout/PatternLayout.encode(PatternLayout.java:60(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:197(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:190(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:181(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/config/AppenderControl.tryCallAppender(AppenderControl.java:161(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/config/AppenderControl.callAppender0(AppenderControl.java:134(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/config/AppenderControl.callAppenderPreventRecursion(AppenderControl.java:125(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/config/AppenderControl.callAppender(AppenderControl.java:89(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/config/LoggerConfig.callAppenders(LoggerConfig.java:542(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/config/LoggerConfig.processLogEvent(LoggerConfig.java:500(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/config/LoggerConfig.log(LoggerConfig.java:483(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/config/LoggerConfig.log(LoggerConfig.java:417(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/core/Logger.log(Logger.java:161(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/spi/AbstractLogger.tryLogMessage(AbstractLogger.java:2205(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/spi/AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/spi/AbstractLogger.logMessageSafely(AbstractLogger.java:2142(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/spi/AbstractLogger.logMessage(AbstractLogger.java:1994(Compiled Code))
4XESTACKTRACE                at org/apache/logging/log4j/spi/AbstractLogger.logIfEnabled(AbstractLogger.java:1852(Compiled Code))
4XESTACKTRACE                at nc/bs/logging/impl/log4j2/Log4j2LoggerPlugin.log(Log4j2LoggerPlugin.java:103(Compiled Code))
4XESTACKTRACE                at nc/bs/logging/impl/log4j2/Log4j2LoggerPlugin.log(Log4j2LoggerPlugin.java:119(Compiled Code))
4XESTACKTRACE                at nc/bs/logging/Logger.debug(Logger.java:182(Compiled Code))
4XESTACKTRACE                at nc/bs/framework/rmi/server/RMIHandlerImpl$1.run(RMIHandlerImpl.java:80(Compiled Code))
4XESTACKTRACE                at java/util/concurrent/Executors$RunnableAdapter.call(Executors.java:522(Compiled Code))
4XESTACKTRACE                at java/util/concurrent/FutureTask.runAndReset(FutureTask.java:319(Compiled Code))
4XESTACKTRACE                at java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:191(Compiled Code))
4XESTACKTRACE                at java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305(Compiled Code))
4XESTACKTRACE                at java/util/concurrent/ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160(Compiled Code))
4XESTACKTRACE                at java/util/concurrent/ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
4XESTACKTRACE                at nc/bs/framework/execute/server/SecureRunnable.run(SecureRunnable.java:46)
4XESTACKTRACE                at org/granite/commonj/CommonjWork.run(CommonjWork.java:31)
4XESTACKTRACE                at com/ibm/ws/asynchbeans/J2EEContext.run(J2EEContext.java:1046)
4XESTACKTRACE                at com/ibm/ws/asynchbeans/WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:199)
4XESTACKTRACE                at com/ibm/ws/asynchbeans/CJWorkItemImpl.run(CJWorkItemImpl.java:237)
4XESTACKTRACE                at com/ibm/ws/util/ThreadPool$Worker.run(ThreadPool.java:1909(Compiled Code))

org/apache/logging/log4j/core/appender/OutputStreamManager日志输出慢导致线程被阻塞,解决办法,加大was SystemOut.log 日志大小

解决方案

调整WebSphere的SystemOut.log日志大小。日常如果想要多保留相关日志信息,也可以在这里调整。(下图为个人测试环境,仅供参考)

进到WebSphere控制台,IP:9060/admin,进到【故障诊断节点】选择【日志和跟踪】,选择需要调整的具体server(每个server都需改。)

选择JVM日志

 调整文件大小和个数

保存后重启整个was集群即可。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Windows安装nexus 私服仓库(6)
  • 【性能优化】:探索系统瓶颈的根源(一)
  • Modern restaurant - building and interior (餐厅场景)
  • linux命令 sudo and su
  • 【开发笔记】Notepad++配置
  • 【C++】模拟(例题 学习)
  • 什么三维点云(3D Point Cloud)和其他数据的区别
  • 一文读懂大语言模型:基础概念篇
  • Labview获取LK-G3001数据
  • 动态规划篇-代码随想录算法训练营第三十六天l 279.完全平方数,139.单词拆分,多重背包问题
  • c++面向对象编程
  • ClickHouse分布式部署搭建单分片二副本集群
  • 简易的 Websocket + 心跳机制 + 尝试重连
  • 信息打点-Web架构篇域名语言中间件数据库系统源码获取
  • 容器存储接口--CSI
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • iOS | NSProxy
  • Mysql数据库的条件查询语句
  • PermissionScope Swift4 兼容问题
  • Selenium实战教程系列(二)---元素定位
  • Spring Cloud Feign的两种使用姿势
  • SpriteKit 技巧之添加背景图片
  • Zepto.js源码学习之二
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 首页查询功能的一次实现过程
  • 通过git安装npm私有模块
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 我的业余项目总结
  • 我这样减少了26.5M Java内存!
  • 用element的upload组件实现多图片上传和压缩
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​Redis 实现计数器和限速器的
  • ​低代码平台的核心价值与优势
  • # Redis 入门到精通(九)-- 主从复制(1)
  • #etcd#安装时出错
  • #pragma预处理命令
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • $(function(){})与(function($){....})(jQuery)的区别
  • (poj1.2.1)1970(筛选法模拟)
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (区间dp) (经典例题) 石子合并
  • (十六)Flask之蓝图
  • (算法)求1到1亿间的质数或素数
  • (万字长文)Spring的核心知识尽揽其中
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级