启动JAVA程序时,参数-Xms及Xmx有什么用

Python017

启动JAVA程序时,参数-Xms及Xmx有什么用,第1张

-Xms是用来设置你的应用程序能够使用的最大内存数,如果程序要花很大内存的话,那就需要修改增加此数的值。

Xms是用它来设置程序初始化的时候内存栈的大小,增加这个值的话你的程序的启动性能会得到提高。

所以根据程序的大小,还有电脑的实际配置,来进行这两个的参数配置即可,参数的单位都是m(兆)。

Java简介

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

主要组成

Java由四方面组成:

●Java编程语言,即语法。

●Java文件格式,即各种文件夹、文件的后缀。

●Java虚拟机(JVM),即处理*.class文件的解释器。

●Java应用程序接口(Java API)。

体系

Java分为三个体系,分别为:

Java SE(J2SE,Java2 Platform Standard Edition,标准版),

JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企业版),

Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。

可以。

标准参数(-) 获取:java -help C:\Users\xxx>java-help 用法:java[-options]class[args...](执行类)或 java[-options]-jar jarfile[args...](执行 jar 文件)其中选项包括:-d32 使用32位数据模型(如果可用)-d64 使用64位数据模型(如果可用)-server 选择"server"VM 默认 VM 是 server.-cp-classpath用分隔的目录。

java启动参数共分为三类;

其一是 标准参数 (-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;

其二是 非标准参数 (-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;

其三是 非Stable参数 (-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;

1.设置环境变量JAVA_OPTS

2.Windows下,在/bin/catalina.bat,Unix下,在/bin/catalina.sh的前面,增加 JAVA_OPTS=’-Xms256m -Xmx512m’

Tomcat 的启动参数位于安装目录 ${TOMCAT_HOME}/bin目录下, Linux 操作系统就是 catalina.sh 文件。JAVA_OPTS,就是用来设置 JVM 相关运行参数的变量,还可以在 CATALINA_OPTS 变量中设置。关于这 2 个变量,还是多少有些区别的:

JAVA_OPTS:用于当 Java 运行时选项“start”、“stop”或“run”命令执行。

CATALINA_OPTS:用于当 Java 运行时选项“start”或“run”命令执行。

为什么有两个不同的变量?它们之间都有什么区别呢?

首先,在启动 Tomcat 时,任何指定变量的传递方式都是相同的,可以传递到执行“start”或“run”命令中,但只有设定在 JAVA_OPTS 变量里的参数被传递到“stop”命令中。对于 Tomcat 运行过程,可能没什么区别,影响的是结束程序,而不是启动程序。

第二个区别是更微妙,其他应用程序也可以使用 JAVA_OPTS 变量,但只有在 Tomcat 中使用 CATALINA_OPTS 变量。如果你设置环境变量为只使用 Tomcat,最好你会建议使用 CATALINA_OPTS 变量,而如果你设置环境变量使用其它的 Java 应用程序,例如 JBoss,你应该把你的设置放在JAVA_OPTS 变量中。

我在本地配置的:

其他暂时没用到的:

Xms与Xmx配置相同的值,为了能够在GC后不需要重新分隔计算堆区的大小而浪费资源。

JVM系列四:生产环境参数实例及分析【生产环境实例增加中】

jvm的GC日志分析

JVM常用参数配置

深入了解JVM

JVM参数与实际环境中的优化配置实践

JVM启动参数大全

Java服务GC参数调优案例

关键业务系统的JVM参数推荐(2018仲夏版)

成为Java GC专家(5)—Java性能调优原则