linux JVM內存分析(二) 實戰JVM調優

  • 查找tomcat進程號(本文的tomcat進程號是21069,下面不會再重複)

輸入命令:ps -ef|grep tomcatapache

  • 使用jmap來查看jvm的堆的快照

輸入命令:jmap -histo 21069 | moretomcat

從上面圖中能夠觀察到apache的包占用太多,能夠看到sheettml,這個能夠猜想出是excel的問題,而後聯想到系統有excel導入的功能,最好檢查了一下代碼,發現代碼中的Workbook沒有關閉jvm

而後綠色代碼進行修復,spa

而後繼續排查其餘的代碼excel

圖中能夠看到EmployeeRate這個對象有75997個實例,佔用了9119640的內存對象

最後發現定時器中,這個類的對象使用比較多,每次new出來的對象沒有主動去釋放,因此須要業務邏輯處理完以後,手動釋放blog

相關文章
相關標籤/搜索