本篇文章給大家分享的是有關JVM發(fā)OOM的8種原因及解決辦法是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于網站設計、做網站、定日網絡推廣、微信小程序開發(fā)、定日網絡營銷、定日企業(yè)策劃、定日品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯為所有大學生創(chuàng)業(yè)者提供定日建站搭建服務,24小時服務熱線:028-86922220,官方網址:www.chinadenli.net
1. Java 堆空間
發(fā)生頻率:5顆星
造成原因
- 無法在 Java 堆中分配對象
- 吞吐量增加
- 應用程序無意中保存了對象引用,對象無法被 GC 回收
- 應用程序過度使用 finalizer。finalizer 對象不能被 GC 立刻回收。finalizer 由結束隊列服務的守護線程調用,有時 finalizer 線程的處理能力無法跟上結束隊列的增長
解決方案
- 使用 -Xmx 增加堆大小
- 修復應用程序 中的內存泄 漏
2. GC 開銷超過限制
發(fā)生頻率:5顆星
造成原因
- Java 進程98%的時間在進行垃圾回收,恢復了不到2%的堆空間,最后連續(xù)5個(編譯時常量)垃圾回收一直如此。
解決方案
- 使用 -Xmx 增加堆大小
- 使用 -XX:-UseGCOverheadLimit 取消 GC 開銷限制
- 修復應用程序中的內存泄漏
3. 請求的數組大小超過虛擬機限制
發(fā)生頻率:2顆星
造成原因
解決方案
- 使用 -Xmx 增加堆大小
- 修復應用程序中分配巨大數組的 bug
4. Perm gen 空間
發(fā)生頻率:3顆星
造成原因
Perm gen 空間包含:
- 類的名字、字段、方法
- 與類相關的對象數組和類型數組
- JIT 編譯器優(yōu)化
當 Perm gen 空間用盡時,將拋出異常。
解決方案
- 使用 -XX: MaxPermSize 增加 Permgen 大小
- 不重啟應用部署應用程序可能會導致此問題。重啟 JVM 解決
5. Metaspace
發(fā)生頻率:3顆星
造成原因
- 從 Java 8 開始 Perm gen 改成了 Metaspace,在本機內存中分配 class 元數據(稱為 metaspace)。如果 metaspace 耗盡,則拋出異常
解決方案
- 通過命令行設置 -XX: MaxMetaSpaceSize 增加 metaspace 大小
- 取消 -XX: maxmetsspacedize
- 減小 Java 堆大小,為 MetaSpace 提供更多的可用空間
- 為服務器分配更多的內存
- 可能是應用程序 bug,修復 bug
6. 無法新建本機線程
發(fā)生頻率:5顆星
造成原因
- 內存不足,無法創(chuàng)建新線程。由于線程在本機內存中創(chuàng)建,報告這個錯誤表明本機內存空間不足
解決方案
- 為機器分配更多的內存
- 減少 Java 堆空間
- 修復應用程序中的線程泄漏。
- 增加操作系統級別的限制
- ulimit -a
- 用戶進程數增大 (-u) 1800
7. 殺死進程或子進程
發(fā)生頻率:1顆星
造成原因
- 內核任務:內存不足結束器,在可用內存極低的情況下會殺死進程
解決方案
與其他 OOM 錯誤不同,這是由操作系統而非 JVM 觸發(fā)的。
8. 發(fā)生 stack_trace_with_native_method
發(fā)生頻率:1顆星
造成原因
- 本機方法(native method)分配失敗
- 打印的堆棧跟蹤信息,最頂層的幀是本機方法
解決方案
使用操作系統本地工具進行診斷
以上就是JVM發(fā)OOM的8種原因及解決辦法是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯行業(yè)資訊頻道。
網站標題:JVM發(fā)OOM的8種原因及解決辦法是什么
本文網址:http://www.chinadenli.net/article30/giccso.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站制作、云服務器、移動網站建設、定制網站、網站建設、網站維護
廣告
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創(chuàng)新互聯