jvm oom排查記錄剖析
命令
命令 | 作用 |
---|---|
jmap -dump:live,format=b,file=java.hprof {pid} | dump內(nèi)存 |
jhat -refs true dump.hprof | 分析 |
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof | oomdump |
jstat -gc {pid} | 內(nèi)存和gc |
jmap -histo:live {pid} | 摘要 |
jProfile
使用jProfile對(duì)大對(duì)象進(jìn)行分析, 查看其引用鏈路
static class Cache { private final ClientFinalizer clientFinalizer = new ClientFinalizer(); // 就是這個(gè)map private final Map<Key, FileSystem> map = new HashMap<Key, FileSystem>(); private final Set<Key> toAutoClose = new HashSet<Key>(); }
最大的對(duì)象是FileSystem
的緩存, 分析代碼可知使用完FileSystem
后沒有調(diào)用close
, 導(dǎo)致沒有被回收.
第二個(gè)大對(duì)象定位為org.apache.logging.log4j.core.layout.StringBuilderEncoder#threadLocal, 該項(xiàng)目中由于需要根據(jù)業(yè)務(wù)id路由日志文件, 查看log4j RoutingAppender文檔發(fā)現(xiàn)其需要配置清理回收策略IdlePurgePolicy
.
<IdlePurgePolicy timeToLive="15" timeUnit="minutes"/>
以上就是jvm oom排查記錄的詳細(xì)內(nèi)容,更多關(guān)于jvm oom排查的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java實(shí)現(xiàn)仿淘寶滑動(dòng)驗(yàn)證碼研究代碼詳解
這篇文章主要介紹了Java實(shí)現(xiàn)仿淘寶滑動(dòng)驗(yàn)證碼研究代碼詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06SpringBoot中的@ControllerAdvice使用方法詳細(xì)解析
這篇文章主要介紹了SpringBoot中的@ControllerAdvice使用方法詳細(xì)解析, 加了@ControllerAdvice的類為那些聲明了@ExceptionHandler、@InitBinder或@ModelAttribute注解修飾的 方法的類而提供的專業(yè)化的@Component,以供多個(gè) Controller類所共享,需要的朋友可以參考下2024-01-01Java concurrency之互斥鎖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
本文通過示例代碼給大家介紹了Java concurrency之互斥鎖的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-06-06Java實(shí)現(xiàn)簡(jiǎn)單QQ聊天工具
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單QQ聊天工具,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09SpringSecurity登錄使用JSON格式數(shù)據(jù)的方法
這篇文章主要介紹了SpringSecurity登錄使用JSON格式數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02InputStreamReader 和FileReader的區(qū)別及InputStream和Reader的區(qū)別
這篇文章主要介紹了InputStreamReader 和FileReader的區(qū)別及InputStream和Reader的區(qū)別的相關(guān)資料,需要的朋友可以參考下2015-12-12