Java netbeansproject属性中的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

Netbeans中的vm选项是什么? 以下行中每个变量和内存大小的含义是什么

-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空间