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;

 

 

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