启动JVM时的Xms和Xmx参数是什么?

问题:

请解释在JVM中使用XmsXmx参数。他们的默认值是什么?

回答:

标志Xmx指定Java虚拟机(JVM)的最大内存分配池,而Xms指定初始内存分配池。
这意味着您的JVM将以Xms的内存量启动,并且最多可以使用Xmx的内存量。例如,启动如下所示的JVM将启动256MB内存,并允许该进程使用高达2048MB的内存:

java -Xms256m -Xmx2048m

内存标志也可以以多个大小指定,例如千字节,兆字节等。

-Xmx1024k
-Xmx512m
-Xmx8g

Xms标志没有默认值,Xmx的默认值通常为256MB。这些标志的常见用法是遇到java.lang.OutOfMemoryError
使用这些设置时,请记住,这些设置适用于JVM的heap,JVM可以使用更多的内存,而不仅仅是分配给堆的大小。从Oracle’s Documentation

请注意,JVM使用的内存不仅仅是堆。例如,Java方法,线程堆栈和本机句柄分配在与堆分离的内存以及JVM内部数据结构中。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: What are the Xms and Xmx parameters when starting JVMs?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

38 − = 33