關(guān)于JVM默認堆內(nèi)存大小問題
JVM默認堆內(nèi)存大小
我們都知道jvm有一個堆內(nèi)存的概念,我們可以通過-Xmx:最大堆內(nèi)存,-Xms初始化堆內(nèi)存來進行設(shè)置。
那么當(dāng)我們不設(shè)置時默認是多少呢
堆內(nèi)存
這里直接貼上官網(wǎng)jdk1.8的鏈接https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/parallel.html#default_heap_size
翻譯如下:
默認堆大小
除非在命令行上指定了初始堆大小和最大堆大小,否則它們將根據(jù)計算機上的內(nèi)存量進行計算。
- 最大物理內(nèi)存大小不超過192兆字節(jié)(MB)時默認最大堆大小是物理內(nèi)存的一半,否則占用物理內(nèi)存的四分之一
- 在32位JVM上,如果有4 GB或更多的物理內(nèi)存,則默認的最大堆大小最多可以為1 GB。在64位JVM上,如果有128
- GB或更多的物理內(nèi)存,則默認的最大堆大小最大為32 GB。
- 在JVM初始化期間分配了一個較小的值,稱為初始堆大小。此數(shù)量至少為8 MB,否則為物理內(nèi)存的1/64,最大為1 GB。
- 分配給年輕代的最大空間量是堆總大小的三分之一,即年輕代和老年代默認的比例是1:2
- 您可以使用-Xms(初始堆大?。┖?Xmx(最大堆大小)來指定初始堆大小和最大堆大小。如果你知道你的應(yīng)用程序有多少堆需要工作做好,你可以設(shè)置-Xms和-Xmx相同的值。否則,JVM將使用初始堆大小開始,然
- 后將增大Java堆,直到找到堆使用率和性能之間的平衡為止。
以上就是在jdk1.8中的說明,但是在不同jdk版本和使用不同的垃圾收集器后或許會有調(diào)整
JVM默認分配堆內(nèi)存是多少?
對于Java8來說,一般堆內(nèi)存的初始容量為物理內(nèi)存大小的1/64, 最大內(nèi)存不超過物理內(nèi)存的1/4或1G.
initial heap size
Larger of 1/64th of the machine's physical memory on the machine or some reasonable minimum. Before Java SE 5.0, the default initial heap size was a reasonable minimum, which varies by platform. You can override this default using the -Xms command-line option.
maximum heap size
Smaller of 1/4th of the physical memory or 1GB. Before Java SE 5.0, the default maximum heap size was 64MB. You can override this default using the -Xmx command-line option.
Note: The boundaries and fractions given for the heap size are correct for Java SE 5.0. They are likely to be different in subsequent releases as computers get more powerful.
參考:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gc-ergonomics.html
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java對象強轉(zhuǎn)成object的方法實現(xiàn)
在 Java 編程中,有時候我們需要將一個具體的對象強制轉(zhuǎn)換成 Object 類型,本文主要介紹了java對象強轉(zhuǎn)成object的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-03-03SpringBoot 如何使用Dataway配置數(shù)據(jù)查詢接口
這篇文章主要介紹了SpringBoot 如何使用Dataway配置數(shù)據(jù)查詢接口,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Java Chassis3過載狀態(tài)下的快速失敗解決分析
本文解密了Java Chassis 3快速失敗相關(guān)的機制和背后故事,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01SpringBoot集成Flyway進行數(shù)據(jù)庫版本遷移管理的步驟
這篇文章主要介紹了SpringBoot集成Flyway進行數(shù)據(jù)庫版本遷移管理的步驟,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot框架,感興趣的朋友可以了解下2021-03-03