Java学习
百川到东海
把复杂的事情简单化!
展开
-
SPRINGBOOT启动报错JAVA.NIO.CHARSET.MALFORMEDINPUTEXCEPTION: INPUT LENGTH = 2解决方案
spring boot 启动报错问题处理(INPUT LENGTH = 2)原创 2023-07-21 12:35:10 · 1037 阅读 · 0 评论 -
Log4j2的循环队列引起的内存泄露
一、问题产生背景线上突然产生高并发且大报文交易,应用采用log4j2打印了大报文日志,引起了内存泄露。二、排查分析heapdump文件,发现主要被log4j2的RingBuffer占用。三、原因log4j2为提高吞吐速率采用循环队列缓存将要打印的日志,随后采用异步线程“消费”队列内容。当高并发大量日志打印的过程中,会导致内存占用过高。四、处理在启动脚本中配置启动参数:-DAsyncLoggerConfig.RingBufferSize=4096 (该参数默认是256k,指循.原创 2021-04-01 15:16:32 · 3146 阅读 · 2 评论