日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

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

 

1. JAVA 堆空間

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

造成原因

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

解決方案

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

2. GC 開銷超過限制

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

造成原因

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

解決方案

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

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

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

造成原因

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

解決方案

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

4. Perm gen 空間

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

造成原因

Perm gen 空間包含:

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

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

解決方案

  • 使用 -XX: MaxPermSize 增加 Permgen 大小
  • 不重啟應(yīng)用部署應(yīng)用程序可能會導(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)建,報告這個錯誤表明本機(jī)內(nèi)存空間不足

解決方案

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

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

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

造成原因

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

解決方案

  • 將進(jìn)程遷移到不同的機(jī)器上
  • 給機(jī)器增加更多內(nèi)存

與其他 OOM 錯誤不同,這是由操作系統(tǒng)而非 JVM 觸發(fā)的。

8. 發(fā)生 stack_trace_with_native_method

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

造成原因

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

解決方案

  • 使用操作系統(tǒng)本地工具進(jìn)行診斷


歡迎關(guān)注頭條號:Java小野貓

歡迎做Java的朋友們私信我【資料】免費(fèi)獲取免費(fèi)的Java架構(gòu)學(xué)習(xí)資料(里面有高可用、高并發(fā)、高性能及分布式、Jvm性能調(diào)優(yōu)、Spring源碼,MyBatis,Netty,redis,Kafka,MySQL,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點(diǎn)的架構(gòu)資料)

其中覆蓋了互聯(lián)網(wǎng)的方方面面,期間碰到各種產(chǎn)品各種場景下的各種問題,很值得大家借鑒和學(xué)習(xí),擴(kuò)展自己的技術(shù)廣度和知識面。

分享到:
標(biāo)簽:JVM
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定