成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JVM發(fā)生內(nèi)存溢出的8種原因、及解決辦法

2021-02-12    分類: 網(wǎng)站建設(shè)

?1. Java 堆空間

發(fā)生頻率:5顆星

造成原因

  • 無法在 Java 堆中分配對(duì)象
  • 吞吐量增加
  • 應(yīng)用程序無意中保存了對(duì)象引用,對(duì)象無法被 GC 回收
  • 應(yīng)用程序過度使用 finalizer。finalizer 對(duì)象不能被 GC 立刻回收。finalizer 由結(jié)束隊(duì)列服務(wù)的守護(hù)線程調(diào)用,有時(shí) finalizer 線程的處理能力無法跟上結(jié)束隊(duì)列的增長(zhǎng)

解決方案

  • 使用 -Xmx 增加堆大小
  • 修復(fù)應(yīng)用程序中的內(nèi)存泄漏

2. GC 開銷超過限制

發(fā)生頻率:5顆星

造成原因

  • Java 進(jìn)程98%的時(shí)間在進(jìn)行垃圾回收,恢復(fù)了不到2%的堆空間,最后連續(xù)5個(gè)(編譯時(shí)常量)垃圾回收一直如此。

解決方案

  • 使用 -Xmx 增加堆大小
  • 使用 -XX:-UseGCOverheadLimit 取消 GC 開銷限制
  • 修復(fù)應(yīng)用程序中的內(nèi)存泄漏

3. 請(qǐng)求的數(shù)組大小超過虛擬機(jī)限制

發(fā)生頻率:2顆星

造成原因

  • 應(yīng)用程序試圖分配一個(gè)超過堆大小的數(shù)組

解決方案

  • 使用 -Xmx 增加堆大小
  • 修復(fù)應(yīng)用程序中分配巨大數(shù)組的 bug

4. Perm gen 空間

發(fā)生頻率:3顆星

造成原因

Perm gen 空間包含:

  • 類的名字、字段、方法
  • 與類相關(guān)的對(duì)象數(shù)組和類型數(shù)組
  • JIT 編譯器優(yōu)化

當(dāng) Perm gen 空間用盡時(shí),將拋出異常。

解決方案

  • 使用 -XX: MaxPermSize 增加 Permgen 大小
  • 不重啟應(yīng)用部署應(yīng)用程序可能會(huì)導(dǎo)致此問題。重啟 JVM 解決

5. Metaspace

發(fā)生頻率:3顆星

造成原因

  • 從 Java 8 開始 Perm gen 改成了 Metaspace,在本機(jī)內(nèi)存中分配 class 元數(shù)據(jù)(稱為 metaspace)。如果 metaspace 耗盡,則拋出異常

解決方案

  • 通過命令行設(shè)置 -XX: MaxMetaSpaceSize 增加 metaspace 大小
  • 取消 -XX: maxmetsspacedize
  • 減小 Java 堆大小,為 MetaSpace 提供更多的可用空間
  • 為服務(wù)器分配更多的內(nèi)存
  • 可能是應(yīng)用程序 bug,修復(fù) bug

6. 無法新建本機(jī)線程

發(fā)生頻率:5顆星

造成原因

  • 內(nèi)存不足,無法創(chuàng)建新線程。由于線程在本機(jī)內(nèi)存中創(chuàng)建,報(bào)告這個(gè)錯(cuò)誤表明本機(jī)內(nèi)存空間不足

解決方案

  • 為機(jī)器分配更多的內(nèi)存
  • 減少 Java 堆空間
  • 修復(fù)應(yīng)用程序中的線程泄漏。
  • 增加操作系統(tǒng)級(jí)別的限制
  • ulimit -a
  • 用戶進(jìn)程數(shù)增大 (-u) 1800
  • 使用 -Xss 減小線程堆棧大小

7. 殺死進(jìn)程或子進(jìn)程

發(fā)生頻率:1顆星

造成原因

  • 內(nèi)核任務(wù):內(nèi)存不足結(jié)束器,在可用內(nèi)存極低的情況下會(huì)殺死進(jìn)程

解決方案

  • 將進(jìn)程遷移到不同的機(jī)器上
  • 給機(jī)器增加更多內(nèi)存
  • 與其他 OOM 錯(cuò)誤不同,這是由操作系統(tǒng)而非 JVM 觸發(fā)的。

8. 發(fā)生 stack_trace_with_native_method

發(fā)生頻率:1顆星

造成原因

  • 本機(jī)方法(native method)分配失敗
  • 打印的堆棧跟蹤信息,最頂層的幀是本機(jī)方法

網(wǎng)站欄目:JVM發(fā)生內(nèi)存溢出的8種原因、及解決辦法
鏈接分享:http://jinyejixie.com/news24/100624.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站設(shè)計(jì)、網(wǎng)站內(nèi)鏈域名注冊(cè)、網(wǎng)站策劃、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)
普宁市| 会理县| 蒙城县| 成安县| 白沙| 南溪县| 夏邑县| 赞皇县| 新丰县| 香格里拉县| 临高县| 云林县| 故城县| 临汾市| 明溪县| 依安县| 上杭县| 灵璧县| 太仓市| 湾仔区| 博客| 察哈| 普安县| 安仁县| 商河县| 钟祥市| 务川| 筠连县| 逊克县| 馆陶县| 从化市| 客服| 兰考县| 宁蒗| 山阴县| 津市市| 崇信县| 马边| 承德市| 岱山县| 定安县|