生產環境jvm記憶體溢位問題處理OutOfMemoryError
阿新 • • 發佈:2018-12-11
生產環境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!