关于程序执行一段时间就卡死的问题

15 篇文章 0 订阅

场景描述

最近实习忙了一个子项目,该项目主要开发一个实时数据转化引擎。说白一点,就是利用kafkaStreams读取kafka中的数据,然后将这些数据入库到mysql或者hbase中。这个引擎是单独开发,然后打成一个jar包,通过父项目的调度程序拉起来执行(其实就是执行一个shell脚本)。

问题描述

后来子项目开发完后,我们自己手动调这个程序jar,程序跑得很好;
通过父项目的调度系统拉起该jar包时出问题了,通过执行日志我们发现,程序入库了几万条数据后,就卡死了,不报错也不执行了;
接下来,我们手动拉起这个jar包,程序也执行的很正常;
调度系统调度其他jar包是都没有问题,唯独调度实时数据转化引擎,执行一段时间就卡死。

问题分析

问题主要出在日志上。首先,手动起引擎时,打在控制台的日志是直接输出在界面,是可见的;当我们用调度系统启动引擎时,打在控制台的日志是输出的缓冲区的,一旦这个缓冲区写满,进程进入睡眠。

问题解决

修改后的Logback配置文件:

<root level="info">
		<!-- 上线时间STDOUT注释掉,防止缓冲区写满,导致进程睡眠
		<appender-ref ref="STDOUT" />-->
		<appender-ref ref="FILE" />
	</root>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值