jvm java tomcat_直接优化JVM 和 Tomcat JVM优化有什么区别?

以下内容,以tomcat-8.0.14和jdk1.8.0_20为基准,服务器为ubuntu。

“java -Xmx3550m -Xms3550m -Xmn2g -Xss128k ”是可以直接命令行设置JVM参数吗?是一次性的而重启后失效吗?

这样可以设置jvm的参数;是一次性的。

设置系统环境变量JAVA_OPTS="-Xms256m -Xmx512m"就是永久性的没错吧。

这个得看你是具体怎么设置,以及tomcat是怎么启动的。若你的环境变量是针对个人用户设置的,而tomcat是在服务器启动时,默认启动的,则不会应用这个环境变量。

比如我在命令行“java -Xmx3550m -Xms3550m -Xmn2g -Xss128k ”

或者设置系统环境变量JAVA_OPTS="-Xms256m -Xmx512m"

是不是就是把机器上的JVM优化方案定死了

环境变量`JAVA_OPTS`并不是java本身所支持的环境变量,而是各个java应用自己使用的,例如tomact和jetty。

针对tomcat本身的设置,应该使用环境变量`CATALINA_OPTS`,而不是`JAVA_OPTS`。它们的区别如下:

# CATALINA_OPTS (Optional) Java runtime options used when the "start",

# "run" or "debug" command is executed.

# Include here and not in JAVA_OPTS all options, that should

# only be used by Tomcat itself, not by the stop process,

# the version command etc.

# Examples are heap size, GC logging, JMX ports etc.

# JAVA_OPTS (Optional) Java runtime options used when any command

# is executed.

# Include here and not in CATALINA_OPTS all options, that

# should be used by Tomcat and also by the stop process,

# the version command etc.

# Most options should go into CATALINA_OPTS.

你可能感兴趣的:(jvm,java,tomcat)