記一次jvm oom 導致docker容器頻繁重啟問題排查


應用部署在docker容器中,日志無報錯,docker卻有多次重啟記錄,Nginx監控報警

過程:

1.執行top命令查看內存占用情況

  

 

 很干凈的容器,只有java進程在運行

2.查看jvm情況

  2.1 查看heap堆大小,可以使用jinfo -flags PID 查看

或者使用jmap -heap PID 查看結果更清晰些

 

   2.2 查看垃圾回收情況jstat -gcutil PID [3s] 每三秒打印一次

 

 

修改啟動參數-Xmn 2048m 一般為heap堆大小的1/2或者1/4

常用啟動參數 -server -Xmx4000m -Xms1500m -Xmn1024m

 不生效,導出堆文件。使用mat分析內存文件,查看是什么對象,占有內存。http://www.eclipse.org/mat/downloads.php

本次是因為session超時設置為1天,且內網安全掃描,會生成大量session,導致大量session不過期,內存占用一直增加。

將session調整為30min后,解決問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM