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后沒(méi)有調(diào)用close, 導(dǎo)致沒(méi)有被回收.
第二個(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)文章
Spring?Cloud?中自定義外部化擴(kuò)展機(jī)制原理及實(shí)戰(zhàn)記錄
這篇文章主要介紹了Spring?Cloud?中自定義外部化擴(kuò)展機(jī)制原理及實(shí)戰(zhàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02
Java中的線程中斷機(jī)制和LockSupport詳解
這篇文章主要介紹了Java中的線程中斷機(jī)制和LockSupport詳解,在Java中沒(méi)有辦法立即停止一條線程,然而停止線程卻顯得尤為重要,如取消一個(gè)耗時(shí)操作,因此,Java提供了一種用于停止線程的協(xié)商機(jī)制中斷,也即中斷標(biāo)識(shí)協(xié)商機(jī)制,需要的朋友可以參考下2023-09-09
SpringBoot中通過(guò)實(shí)現(xiàn)WebMvcConfigurer參數(shù)校驗(yàn)的方法示例
這篇文章主要介紹了SpringBoot中通過(guò)實(shí)現(xiàn)WebMvcConfigurer參數(shù)校驗(yàn)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
springBoot+dubbo+zookeeper實(shí)現(xiàn)分布式開發(fā)應(yīng)用的項(xiàng)目實(shí)踐
本文主要介紹了springBoot+dubbo+zookeeper實(shí)現(xiàn)分布式開發(fā)應(yīng)用的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
詳解Java并發(fā)編程中的優(yōu)先級(jí)隊(duì)列PriorityBlockingQueue
PriorityBlockingQueue是Java中實(shí)現(xiàn)了堆數(shù)據(jù)結(jié)構(gòu)的線程安全的有界阻塞隊(duì)列。本文將會(huì)深入解讀PriorityBlockingQueue的源碼實(shí)現(xiàn),感興趣的可以了解一下2023-05-05
cmd中javac命令無(wú)法運(yùn)行(java指令能運(yùn)行)解決步驟
這篇文章主要介紹了在安裝JDK后,執(zhí)行javac命令沒(méi)有返回值的問(wèn)題,可能是由于命令提示符窗口緩存問(wèn)題、系統(tǒng)路徑優(yōu)先級(jí)問(wèn)題、文件權(quán)限問(wèn)題或命令行輸入問(wèn)題,文中通過(guò)代碼將解決的步驟介紹的非常詳細(xì),需要的朋友可以參考下2025-02-02
Spring gateway配置Spring Security實(shí)現(xiàn)統(tǒng)一權(quán)限驗(yàn)證與授權(quán)示例源碼
這篇文章主要介紹了Spring gateway配置Spring Security實(shí)現(xiàn)統(tǒng)一權(quán)限驗(yàn)證與授權(quán),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07

