Xms和Xmx和XX之间的差异:MaxPermSize

时间:2016-07-12 13:23:01

标签: tomcat garbage-collection

之间有什么区别
-Xms4096m
-Xmx2048M 
-XX:MaxPermSize=712M

我对这两个-Xmx2048M-XX:MaxPermSize=712M

感到困惑

如果我使用-Xmx2048 M或-Xmx2048 m

将会发生

1 个答案:

答案 0 :(得分:40)

Java对象驻留在名为 heap 的区域中,而类对象和方法对象等元数据驻留在 永久代 或Perm Gen区域。永久世代不是堆的一部分。

在JVM启动时创建堆,并且在应用程序运行时可能会增大或减小堆。当堆变满时,会收集垃圾。在垃圾收集期间,将清除不再使用的对象,从而为新对象腾出空间。

-Xms size 指定初始堆大小。

-Xmx size 指定最大堆大小。

-XX:MaxPermSize = size 设置最大永久生成空间大小。此选项在JDK 8中已弃用,并被 -XX:MaxMetaspaceSize 选项取代。

大小以字节表示。附加字母kK以表示千字节,mM表示兆字节,gG表示千兆字节。

参考文献:

How is the java memory pool divided?

What is perm space?

Java (JVM) Memory Model – Memory Management in Java

Java 7 SE Command Line Options

Java 7 HotSpot VM Options