理解java -Xms -Xmx的概念

理解java -Xms -Xmx的概念

这个要看GC调优。 

JVM的堆的内存, 是通过上面两个参数控制的 

-Xms 最小堆的大小, 也就是当你的虚拟机启动后, 就会分配这么大的堆内存给你 
-Xmx 是最大堆的大小 

当最小堆占满后,会尝试进行GC,如果GC之后还不能得到足够的内存(GC未必会收集到所有当前可用内存),分配新的对象,那么就会扩展堆,如果-Xmx设置的太小,扩展堆就会失败,导致OutOfMemoryError错误提示。 

实际上,细节不止于此, 堆还会被分成几个不同的区域,分别应用不同的GC算法 

最好看看 Tuning Garbage Collection with the 5.0 Java[tm] Virtual Machine 

在Sun的网站上面就有,Google一下。

你可能感兴趣的:(理解java -Xms -Xmx的概念)