可以說,我的RAM是30 GB,並且我給了jmx 10 GB和jms 5 GB並啓動了java進程。如何確定堆的大小/調整大小與這些值?它是不是像5GB被當作初始堆空間一樣,10 GB留給了jvm(其餘的15 GB可用於RAM上的其他進程),或者只有5 GB被分配並增加到最大10 GB(同時其他進程是授權使用25 GB)?這是如何發生的?Java堆內存流程
2
A
回答
2
JVM有一個堆,即運行時數據區,從中爲所有類實例和數組分配內存。它是在JVM啓動時創建的。
Java堆分配從最小大小-Xms開始並增加到Xmx。
-Xms - 設置最小可用內存爲JVM
-Xmx - 設置JVM的最大可用內存。 Java應用程序不能使用通過此參數定義的更多堆存儲器。
默認情況下,最大堆大小爲64 Mb。
對象的堆內存由自動內存管理 回收,稱爲垃圾回收器。該堆可能是固定大小的 ,或者可能會擴大和縮小,具體取決於垃圾收集器的策略。
所以,我認爲後者是正確的說法。
僅5 GB(XMS)被分配並增加到10 GB(XMX)(同時其它 過程被授權使用25 GB)
2
- -Xms的最大這設置初始Java堆大小
- -Xmx此設置最大Java堆大小
在初始化虛擬機時,保留了堆的整個空間。預留空間的大小可以通過-Xmx選項指定爲 。如果-Xms參數的值小於 -Xmx參數的值,而不是保留的所有空間 都立即提交給虛擬機。未提交的空間 在此圖中標記爲「虛擬」。堆( 永久代,年老代,以及年輕一代)的不同部分可以 增長到虛擬空間需要.....源的限制 - OTN -Tuning Garbage Collection
相關問題
- 1. Java堆內存
- 2. Couchbase - ElasticSearch Java堆內存
- 3. Java堆內存休眠
- 4. Java堆大小內存
- 5. Java堆內存不足
- 6. Java內存堆錯誤
- 7. Java:非堆內存分析
- 8. java堆內存大於TOP
- 9. Java堆內存錯誤HTMLuint
- 10. java堆內存問題
- 11. Java堆內存錯誤
- 12. Java堆和堆棧內存分配
- 13. C程序的堆棧和堆內存
- 14. 進程內存vs堆 - JVM
- 15. 程序的堆內存
- 16. 內存不足java堆空間
- 17. Java堆空間::內存不足錯誤
- 18. 斯坦福POSTagger,Java堆SPCE內存
- 19. 高效使用Java堆內存
- 20. 內存不足錯誤Java堆空間
- 21. Java堆內存使用增加
- 22. Java內存不足:增加堆空間?
- 23. 內存不足錯誤,Java堆空間
- 24. Java堆內存使用波動
- 25. MySQL內存溢出java堆溢出
- 26. Jasper Print - Java堆空間內存
- 27. 低內存... Java堆出馬(Ax)
- 28. java內存不足錯誤堆空間
- 29. 如何永久增加java堆內存?
- 30. Java堆大小增加進出內存
感謝的答案,任何好的參考? – user1873379
http://middlewaremagic.com/weblogic/?tag=young-generation –
哪個版本的Java? 5 GB,10 GB ...直到Java 7 ..從未聽說過... – Shashi