JVM初始大小和最大堆大小

可以用命令直接查詢:

java -XX:+PrintFlagsFinal -version | grep HeapSize

或者使用java代碼:

​Runtime.getRuntime().maxMemory();

官方文檔:(建議點開查看)

1. client模式

初始堆大小:

物理內存的1/64,但最小是8MB。

 

最大堆大小:

在物理內存達到192MB之前,JVM最大堆大小爲物理內存的一半;

在物理內存大於192MB,在到達1GB之前,JVM最大堆大小爲物理內存的1/4;

大於1GB的物理內存,最大堆大小爲256M。

2. server模式:

總體與Client相同,但是最大堆大小可以更大;

最大堆大小:

如果實際內存大於1G,最大堆大小爲內存的1/4;在32位JVM下,如果物理內存在4G或更高,最大堆大小可以提升至1GB,如果是在64位JVM下,如果物理內存在128GB或更高,最大堆大小可以提升至32GB。

 

比如:64位機器4G內存,server模式下默認啓動JVM,初始堆爲64M,最大堆爲1G;

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章