1. 程式人生 > >生產環境jvm記憶體溢位問題處理OutOfMemoryError

生產環境jvm記憶體溢位問題處理OutOfMemoryError

生產環境jvm記憶體溢位問題處理OutOfMemoryError

問題描述

服務正常部署執行後,前端介面偶爾出現請求無響應情況,頁面出現持續性卡頓。伺服器日誌報下面這個異常:

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main-SendThread(192.168.200.102:2181)"

排查問題

在這裡插入圖片描述

檢視log日誌,聯絡運維檢視伺服器記憶體、cpu使用情況,很明顯,這個服務是兩個節點部署的,圖中上面一個結點的記憶體使用率過高。執行操作時,一旦節點切換到它,操作就會出現jvm記憶體溢位。

發現問題

在這裡插入圖片描述

運維檢視故障節點伺服器的jvm引數時,發現jvm引數根本沒有配置,使用的是java預設的記憶體大小,所以基本問題確認,需要調整當前故障節點的jvm記憶體大小分配。

解決問題

"java","-Dfile.encoding=UTF-8","-Xmx4096m","-Xms4096m","-XX:PermSize=256m","-XX:MaxPermSize=512m"

經調整為4Gjvm記憶體大小,服務操作正常執行,沒有再出現卡頓,沒有響應的情況。

參考:http://outofmemory.cn/c/java-outOfMemoryError

學習Java的同學注意了!!!
學習過程中遇到什麼問題或者想獲取學習資源的話,歡迎加入Java學習交流群,群號碼:543120397 我們一起學Java!