第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

平時(shí)的一些trouble-shooting-定時(shí)任務(wù)執(zhí)行時(shí),服務(wù)器load過(guò)高

標(biāo)簽:
Java
现象

某服务在后半夜2点执行的定时任务报警,执行失败,并且load升高报警。

监控

检查了监控,包括cpu、网卡流量、TCP连接数等都没任何异常

内存泄漏

分析gc日志,发现在执行期间频繁执行fullgc,但是heap区没有变小。

检查jvm内存

当时在load过高时,保存了两份内存文件,一份是原始的,一份是fullgc之后的存活的。进行对比。

原始内存

图片描述

fullgc之后存活的内存

图片描述

可以看出来在fullgc之后的其实内存没有变化,并且蓝色的区域已经沾满了3.5G,已经是整个的93.84%。

图片描述

分析内存中的对象,发现在出问题的线程中。发现里面最大的hashmap存的是XXResult对象,并且这个hashmap占了整个的71.3%。

分析代码原因

在代码中找到具体的这个对象组装的位置,发现是因为请求量过大,没有对List进行分页处理。导致这个Map越来越大,并且只有这个定时任务执行完毕,这个最大的对象才会被回收,因为一直有引用。

解决问题

foreach循环里使用的业务对象进行分页,进行批量处理,把声明放到foreach循环内,在分批处理之后,之前new出来的对象自然会被回收。

线上发布验证

定时任务执行时间缩短,load正常,问题解决。

點(diǎn)擊查看更多內(nèi)容
18人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
JAVA開(kāi)發(fā)工程師
手記
粉絲
1.6萬(wàn)
獲贊與收藏
3008

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消