Java netbeansproject属性中的vm选项是什么?
Netbeans中的vm选项是什么? 以下行中每个变量和内存大小的含义是什么Java netbeansproject属性中的vm选项是什么?,java,tomcat,netbeans,Java,Tomcat,Netbeans,Netbeans中的vm选项是什么? 以下行中每个变量和内存大小的含义是什么 -Xms128m -Xmx128m -XX:PermSize=64m -XX:MaxPermSize=128m 我从permgen空间的堆栈溢出中得到这行代码 有什么想法吗?标志Xmx指定Java虚拟机(JVM)的最大内存分配池,而Xms指定初始内存分配池 这意味着您的JVM将以Xms内存量启动,并且将能够使用最大Xmx内存量 Xms标志没有默认值,Xmx通常具有256MB的默认值 更多信息 -XX:PermSize
-Xms128m -Xmx128m -XX:PermSize=64m -XX:MaxPermSize=128m
我从permgen空间的堆栈溢出中得到这行代码
有什么想法吗?标志
Xmx
指定Java虚拟机(JVM
)的最大内存分配池,而Xms
指定初始内存分配池
这意味着您的JVM
将以Xms
内存量启动,并且将能够使用最大Xmx
内存量
Xms
标志没有默认值,Xmx
通常具有256MB的默认值
更多信息
-XX:PermSize-XX:MaxPermSize用于设置永久生成的大小
永久生成
:永久生成
是保存类文件的地方。这些是编译类和jsp
页面的结果。如果此空间已满,则会触发完全垃圾回收。如果完整的垃圾收集
无法清除旧的未引用类,并且没有空间扩展永久空间,则会抛出内存不足错误(OOME
),JVM将崩溃
更多信息
从Java8开始,permgen
空间和此设置都消失了
对于netbeans选项,请看一看,请仔细阅读,希望对您有所帮助
-Xms128m-Xmx128m-XX:PermSize=64m-XX:MaxPermSize=128m
上面的命令只是忽略默认VM(虚拟机)设置,并将自定义内存设置覆盖到netbeans
标志Xmx指定Java虚拟机(JVM)的最大内存分配池,而Xms指定初始内存分配池
这意味着您的JVM将以Xms内存量启动,并且将能够使用最大Xmx内存量。例如,像下面这样启动JVM将使用256MB的内存启动它,并允许进程使用多达2048MB的内存:
java -Xmx2048m -Xms256m
内存标志也可以指定为多种大小,如千字节、兆字节等
-Xmx1024k
-Xmx512m
-Xmx8g
Xms标志没有默认值,并且Xmx通常具有256MB的默认值。这些标志的常见用法是遇到java.lang.OutOfMemoryError时
JVM PermGen
Sun JVM有一个PermGen空间的概念,它是一个单独分配的内存区域,用于分配类等。这实际上是大多数人都有问题的内存区域,而不是正常的堆空间,但是作为一个普通用户,当eclipse(或者更确切地说是jvm)只是说“内存不足”或者只是崩溃时,很难意识到这一点
解决方案是向vmargs添加MaxPermSize值。e、 我通常使用-XX:MaxPermSize=128m来确保我没有用完PermGen空间