日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hotspot jvm_在Hotspot JVM中跟踪过多的垃圾收集

發布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hotspot jvm_在Hotspot JVM中跟踪过多的垃圾收集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

hotspot jvm

由于內存泄漏或其他內存問題,經常導致應用程序凍結,僅使垃圾收集器(GC)進程運行失敗,試圖釋放一些空間。 直到看門狗(或沮喪的管理員)重新啟動應用程序并且問題從未解決之前,這種情況一直發生。 本文的目的是展示如何識別過多的GC并在發生堆轉儲時獲取堆轉儲。 假定Hotspot JVM 1.6或更高版本。 相關的JVM標志 使用以下標志,我們可以指示Hotspot JVM在應用程序變為GC驅動時引發堆轉儲。 首先,應添加-XX:+ HeapDumpOnOutOfMemoryError標志。 我們的目標是在由于不停止GC而導致應用程序吞吐量下降時生成OutOfMemory錯誤。 有兩個JVM標志將有幫助:
  • -XX: GCTimeLimit = 98 –定義拋出OutOfMemory錯誤之前在GC中花費的時間比例的限制
  • -XX: GCHeapFreeLimit = 2 –定義完整GC之后拋出OutOfMemoryError之前的最小可用空間百分比
默認情況下,兩個標志都是啟用的,但是內存不足錯誤不會經常觸發。 因此,需要更深入的了解才能確定每個標志何時有用以及默認值是什么。 Oracle文檔 ? 過多的GC時間和OutOfMemoryError。 如果在垃圾回收上花費了太多時間,則并發收集器將拋出OutOfMemoryError:如果在垃圾回收上花費了總時間的98%以上,而回收的堆少于2%,則將拋出OutOfMemoryError。 此功能旨在防止應用程序長時間運行,而由于堆太小而幾乎沒有進展,甚至沒有進展。 如有必要,可以通過在命令行中添加選項-XX:-UseGCOverheadLimit來禁用此功能。 該策略與并行收集器中的策略相同,除了執行并發收集所花費的時間不計入98%的時間限制。 換句話說,只有在應用程序停止時執行的收集才計入過多的GC時間。 此類收集通常是由于并發模式故障或顯式收集請求(例如,對System.gc()的調用)引起的。 如第二段所述, GCTimeLimit在并行收集器上不能很好地工作,因為在這種情況下花費在GC上的時間不太重要。 為GCHeapFreeLimit選擇默認值 ? 選擇默認值的方式應使當應用程序變得無響應(或由GC驅動)時,將導致內存不足。 無響應性是一個主觀定義,可能因應用程序而異,因此對于不同的應用程序,其結果值可能會(略有不同)不同。 首先,應該創建一個簡單的測試。 在應用程序內部運行并分配大量對象的類。 可以快速收集部分對象,并且可以長期保留部分對象。 在運行測試之前,應添加GC日志記錄標志。 對于我的應用程序,添加了以下標志: -Xmx960m-詳細:gc -XX:+ PrintGCDetails -XX:+ PrintGCDateStamps -XX:+ PrintTenuringDistribution -Xloggc:/root/gc.log -XX:+ HeapDumpOnOutOfMemoryError -XX:HeapDumpPath = / root / dumps GC日志的輸出如下所示。 第一個完整的GC周期–應用程序具有響應能力: [完整GC [PSYoungGen:290112K-> 33213K(308672K)] [PSOldGen:655359K-> 655359K(655360K)] 945471K-> 688573K(964032K)] 幾分鐘后–應用程序無響應: [完整GC [PSYoungGen:290112K-> 213269K(308672K)] [PSOldGen:655359K-> 655359K(655360K)] 945471K-> 868629K(964032K)] 對于950 Mb堆,內存空間的分布為:老gen = 650Mb,年輕= 300Mb。 當應用程序響應時,老一代將充滿強大的參考數據,而大多數年輕一代則是垃圾。 因此,GCHeapFreeLimit的一個估計是(清除所有年輕人,不清除任何舊東西)300/950?32%。 但是,隨著時間的流逝,無法將年輕空間中的物體提升為舊空間,因為空間已滿。 就像在Oracle文檔中所說的那樣: 最年輕的集合并不需要保證完全升級所有活動對象。 (-XX:+ HandlePromotionFailure標志)。 由于促銷失敗,因此引用的對象比年輕一代期望的要多得多。 為了安全起見(減少誤報),我假設當年輕空間的1/3以上是垃圾空間而舊空間已滿時,系統由GC驅動。 因此,我建議類似我的應用的比率是200/950?20%。 -XX: GCHeapFreeLimit = 20 實驗表明,OOM在超出20%限制的1-2分鐘過量GC后發生,在此期間發生30-35個完整GC。 結論 在沒有靈丹妙藥的Java中,識別過多的垃圾回收是一項艱巨的任務。 熱點JVM開發人員提供了一些方法,這些方法將經常有助于識別根本原因。 如果正確使用GCHeapFreeLimit和GCTimeLimit標志,可以使用適當的值來闡明問題。 參考資料 1. http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html 2. http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html 參考:來自The Art of Java博客的JCG合作伙伴 Art Gourevitch 在Hotspot JVM中跟蹤過多的垃圾收集 。

翻譯自: https://www.javacodegeeks.com/2012/06/tracking-excessive-garbage-collection.html

hotspot jvm

總結

以上是生活随笔為你收集整理的hotspot jvm_在Hotspot JVM中跟踪过多的垃圾收集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 六月婷婷在线 | 韩国伦理大全 | 亚洲区在线播放 | 国产精品一区二区av日韩在线 | 亚洲美女av在线 | 免费在线黄色网 | 开心激情深爱 | 91天堂在线观看 | 女同另类之国产女同 | 秋霞国产精品 | 人禽l交视频在线播放 视频 | 欧美日韩一区二区三区电影 | 国产伦精品一区三区精东 | 玩弄人妻少妇500系列 | 日韩黄色免费电影 | 视频在线观看电影完整版高清免费 | 亚洲精品日韩欧美 | 国产精品一二 | 日本高清免费aaaaa大片视频 | 美女被捅个不停 | 免费看黄色的网址 | 人人妻人人做人人爽 | 一区二区视频在线 | 好吊妞视频这里只有精品 | brazzers猛女系列 | 99久久99久久免费精品蜜臀 | 免费一级片在线观看 | 精品国产乱码一区二区三区99 | 最新国产三级 | 久久22 | 美女又爽又黄视频毛茸茸 | 中国美女囗交视频 | 天堂在线观看中文字幕 | a网站在线观看 | 亚洲图片偷拍区 | 色丁香av | 哺乳期av | 日本在线观看一区二区 | 人妻少妇精品一区二区三区 | 制服丝袜一区 | 女同激情久久av久久 | 成人性做爰片免费视频 | 五十路在线视频 | 欧美日p视频 | 日韩在线一二 | 韩国av毛片 | 国产精品99久久久久 | 亚欧精品视频一区二区三区 | 久色在线 | 美女网站全黄 | 国产三级国产精品 | 中文字幕第一页在线视频 | 欧美高清一区二区三区四区 | 亚洲色图插插插 | 特黄特色特刺激免费播放 | 九九自拍偷拍 | 亚洲码国产精品高潮在线 | 亚洲国产精品尤物yw在线观看 | 亚洲天堂91| 在线看的av网站 | 99久久精品一区二区 | 影音先锋国产在线 | 欧美精品一区视频 | 老妇女玩小男生毛片 | 欧美大片18| 成人黄色一级片 | 久久久无码人妻精品无码 | 中文字幕国内自拍 | ⅹxxxxhd亚洲日本hd老师 | 无码国产伦一区二区三区视频 | 免费在线一级片 | 极品少妇视频 | 1024视频污 | 波多野结衣影片 | 久久手机免费视频 | 综合久久五月天 | 日本三级影院 | 美女一级黄 | 国产麻豆xxxvideo实拍 | 日本精品一区二区在线观看 | 熟妇熟女乱妇乱女网站 | 国产精品99久久久久久久久 | 免费看黄色网址 | 滋润少妇h高h| 亚洲综合图色40p | v天堂在线 | 婷婷色一区二区三区 | 日日操夜夜骑 | 国语对白自拍 | 不卡一区二区在线 | 亚洲性事| 色人阁婷婷 | 欧亚一区二区三区 | 玖玖玖国产精品 | 四虎国产在线观看 | 亚洲黄视频| 久久国产色av免费观看 | 看黄免费网站 | 青青青国产在线 |