更新 JDK 1.8 HotSpot的情况如下:
你可以在Linux下执行以下命令查看Xms和Xmx的默认值
java -XX:+PrintFlagsFinal -version | grep HeapSize
另外这是Java8的文档中关于Default Heap Size的描述:点击这里
hotspot虚拟机的默认堆大小如果未指定,他们是根据服务器物理内存计算而来的
client模式下,JVM初始和最大堆大小为:
在物理内存达到192MB之前,JVM最大堆大小为物理内存的一半,否则,在物理内存大于192MB,在到达1GB之前,JVM最大堆大小为物理内存的1/4,大于1GB的物理内存也按1GB计算,举个例子,如果你的电脑内存是128MB,那么最大堆大小就是64MB,如果你的物理内存大于或等于1GB,那么最大堆大小为256MB。
Java初始堆大小是物理内存的1/64,但最小是8MB。
server模式下:
与client模式类似,区别就是默认值可以更大,比如在32位JVM下,如果物理内存在4G或更高,最大堆大小可以提升至1GB,,如果是在64位JVM下,如果物理内存在128GB或更高,最大堆大小可以提升至32GB。
Java8 takes Larger of 1/6th of your physical memory for your Xmssize (Minimum HeapSize) and Smaller of 1/4th of your physical memory for your -Xmxsize (Maximum HeapSize).
You can Check the default java Heap Size by:
In Windows:
java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
In Linux:
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
What system configuration settings influence the default value?
Your physical memory and your Java version.
JVM 参数察看
猜你喜欢
转载自solong1980.iteye.com/blog/2407830
今日推荐
周排行