VM arguments 的参数是什么意思?
在eclipse 中,VM arguments的设置,都是什么意思?
-Xms128m
-Xmx512m
-XX:PermSize=256M
-XX:MaxNewSize=128m
-XX:MaxPermSize=512m
-Dcatalina.base="W:\soft\apache-tomcat-7.0.42"
-Dcatalina.home="W:\soft\apache-tomcat-7.0.42"
-Dwtp.deploy="W:\soft\apache-tomcat-7.0.42\webapps"
-Djava.endorsed.dirs="W:\soft\apache-tomcat-7.0.42\endorsed"
还有,Program arguments,都有什么参数,有什么用?
-Xms:是初始分配的堆内存
-Xmx:是最大的分配的堆内存
超出了xms的大小,JVM会向系统继续要内存,如果一直扩展到Xmx都不够的话,这是就抛出OOM了。
-XX:PermSize:是默认永生代大小,永生代主要用来加载类和常量池,这部分很难GC。JDK8的Hotspot已经取消了永生代,改为元空间,元空间不需要指定大小,会自动扩展。
-XX:MaxPermSize:是永生代大小上限。
-XX:MaxNewSize:是新生代大小,一般新出生的对象都是在这里的Eden区,在这里GC之后会进去新生代的Survivor区(有两块Survivor区,用的是标记复制算法)。GC后对象还存活就进入了旧时代(不一定是一次)。
-Djava.endorsed.dirs:由于classloader的父类继承模式,你不能伪装JDK的类,但是你可以通过此配置替换JDK中的部分类,不包括lang包中的类。
剩下的都是tomcat一些配置,catalina.home(安装目录),catalina.base(工作目录)。没啥花头。
转载链接:https://www.zhihu.com/question/42246700/answer/94949286
网友评论