JVM用於拋出'java.lang.OutOfMemoryError:超出GC開銷限制'的採樣時間是什麼? 我知道你可以通過參數GCTimeLimit和GCHeapFreeLimit控制98%和2%,但最新的採樣時間是多少?超出GC開銷限制
超出GC開銷限制
回答
從Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning
以下
過多的GC時間和OutOfMemoryError異常
併發收集器將拋出一個OutOfMemoryError如果太多 的時間被消耗在垃圾收集上:如果超過98在垃圾回收中花費的總時間的百分比和回收的堆中不到2%,會拋出OutOfMemoryError。此功能 旨在防止應用程序在延長時間內運行一段時間,同時幾乎不進行任何操作,因爲堆太小而無法使用。如有必要,可以通過將 選件 -XX:-UseGCOverheadLimit添加到命令行來禁用此功能。
除了 花費在執行併發集合上的時間不計入98%時間限制之外,策略與並行收集器中的策略相同。換句話說,只有在 應用程序停止時執行的收集纔會計入過多的GC時間。這種集合通常是由於併發模式故障或顯式收集請求(例如,對System.gc()的調用)。
與通道進一步向下
一個明確的垃圾收集 與RMIS分佈式垃圾收集(DGC)發生的最常見的用途相結合。 使用RMI的應用程序引用其他虛擬機中的對象。 這些分佈式應用程序無法收集垃圾,因爲偶爾會收集本地堆,因此RMI會定期強制收集全部收集文件 。這些集合的頻率可以通過屬性來控制 。例如,
java -Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
每小時,而不是每一次微小 的違約率指定一次明確的集合。但是,這也可能導致一些對象花費更長的時間來回收 。如果 不需要DGC 活動的及時性的上限,則可以將這些屬性設置爲與Long.MAX_VALUE 一樣高,以使明確收集之間的時間實際上是無限的。
似乎意味着確定98%的評估週期是一分鐘長,但它可以在Sun的JVM上使用正確的定義進行配置。
當然,其他解釋也是可能的。
- 1. 超出GC開銷限制 - Android Studio
- 2. 匕首2超出GC開銷限制
- 3. Robolectric。 Maven OutOfMemoryError:超出GC開銷限制
- 4. Gridgain:java.lang.OutOfMemoryError:超出GC開銷限制
- 5. neo4j中超出GC開銷限制
- 6. Jmeter java.lang.OutOfMemoryError:超出GC開銷限制
- 7. 錯誤com.graphhopper.http.GHErrorHandler - 超出GC開銷限制
- 8. java.lang.OutOfMemoryError:超出GC開銷限制
- 9. PigLatin:java.lang.OutOfMemoryError:超出GC開銷限制
- 10. GC開銷超出限制 - 陣列
- 11. Spring SimpleJdbcTemplate:java.lang.OutOfMemoryError:超出GC開銷限制
- 12. Java PreparedStatement java.lang.OutOfMemoryError:超出GC開銷限制
- 13. Datomic超出GC開銷限制
- 14. Neo4j超出GC開銷限制
- 15. 避免PermGen超出內存和超出GC開銷限制
- 16. Tomcat7 - GC開銷超過限制
- 17. 已超過Eclipse GC開銷限制
- 18. icCube java.lang.OutOfMemoryError:超過GC開銷限制
- 19. smartgwt超過gc開銷限制
- 20. 阿卡 - GC開銷超過限制
- 21. 彈出數據JPA OutOfMemoryError:超出GC開銷限制
- 22. XML解析拋出java.lang.OutOfMemoryError:超出GC開銷限制
- 23. 錯誤:XSSFWorkbook中超出了GC開銷限制
- 24. OutOfMemoryError:超出api的GC開銷限制19
- 25. titan-hbase-solr圖加載gremlin-server java.lang.OutOfMemoryError:超出GC開銷限制
- 26. java.lang.OutOfMemoryError:春季工具套件超出GC開銷限制
- 27. 加入Sparkjob時超出了GC開銷限制
- 28. 如何處理java.lang.OutOfMemoryError:正常超出GC開銷限制?
- 29. 錯誤:java.lang.OutOfMemoryError:超出GC開銷限制Android Studio
- 30. RubyMine - 運行RSpec/jruby Java :: JavaLang :: OutOfMemoryError:超出GC開銷限制
RMI分佈式垃圾回收是與常規垃圾回收無關的活動。所以我不明白你如何推斷你剛剛做了什麼。 – 2010-12-06 22:50:36