c++教程 線上系統(tǒng)出現(xiàn)頻繁JVM FullGC時(shí),應(yīng)該如何排查和處理?
線上系統(tǒng)出現(xiàn)頻繁JVM FullGC時(shí),應(yīng)該如何排查和處理?根據(jù)您的描述,應(yīng)該有內(nèi)存泄漏。按以下方法檢查1。通過jstat-gcutil快速定位GC問題。2使用jmap-histo命令定位內(nèi)存泄漏的特
線上系統(tǒng)出現(xiàn)頻繁JVM FullGC時(shí),應(yīng)該如何排查和處理?
根據(jù)您的描述,應(yīng)該有內(nèi)存泄漏。按以下方法檢查
1。通過jstat-gcutil快速定位GC問題。2使用jmap-histo命令定位內(nèi)存泄漏的特定對(duì)象。
3. 使用jmap-轉(zhuǎn)儲(chǔ):文件導(dǎo)出堆內(nèi)存數(shù)據(jù)。
4. Jhat分析轉(zhuǎn)儲(chǔ)文件以找到GC根目錄。
aix系統(tǒng)jvm如何調(diào)整fullgc參數(shù)?
參考以下內(nèi)容:JVM常用調(diào)試參數(shù):——詳細(xì):gc顯示當(dāng)虛擬機(jī)中發(fā)生內(nèi)存恢復(fù)時(shí),輸出設(shè)備中的信息-Xloggc:文件名記錄與GC相關(guān)的日志信息到要分析的文件-XX:-heapdumponoutofmemoryerror當(dāng)它第一次遇到oom時(shí)。此時(shí),堆中的相關(guān)信息-XX:onerror=“”出現(xiàn)致命錯(cuò)誤,然后運(yùn)行自定義命令-XX:-printclasshhisto當(dāng)gram遇到Ctrl break時(shí),打印類實(shí)例的列信息,它的功能與jmap histo-XX相同:-printconcurrent locks在遇到Ctrl中斷時(shí)打印有關(guān)并發(fā)鎖的信息,它的功能與jstack-l-XX相同:-printgc每次打印相關(guān)信息GC-XX:-printgcdetails每次打印詳細(xì)信息GC-XX:-printgctimestamps每次打印每個(gè)GC的時(shí)間戳-XX:Printgcapplicationsstoppedtime打印垃圾收集期間的暫停時(shí)間-XX:printheapatgc print detailedGC-XX前后的堆棧信息:printheapatgc Printtenuringdistribution檢查每個(gè)minorgc之后新生命周期的閾值,即年輕一代幸存者中的復(fù)制次數(shù)。-XX:-traceclassloading跟蹤類加載信息-XX:-traceclassunloading跟蹤類卸載信息-XX:-traceloaderconstraints跟蹤類加載程序約束相關(guān)信息-XX:errorfile=/opt/Tomcat/bin/HSerrorp.Logcrash log