ava虚拟机(JVM)参数是通过命令行选项传递给JVM的特殊参数,用于改变JVM运行时的某些默认行为。这些参数可以配置虚拟机的内存大小、垃圾回收算法、调试信息等。以下是一些常见的Java VM参数及其使用示例:
常见JVM参数
- 堆内存参数
-Xms<size>:设置JVM启动时堆内存的初始大小。例如,-Xms512m表示设置初始堆内存为512MB。-Xmx<size>:设置JVM可使用的最大堆内存大小。例如,-Xmx1024m或-Xmx1g表示设置最大堆内存为1GB。-Xmn<size>:设置新生代(Young Generation)的大小。例如,-Xmn256m表示设置新生代大小为256MB。
- 垃圾回收相关参数
-XX:+UseSerialGC:启用串行垃圾回收器。-XX:+UseParallelGC:启用并行垃圾回收器,适用于多核处理器。-XX:+UseConcMarkSweepGC:启用CMS(并发标记清除)垃圾回收器,适用于需要低停顿时间的应用。-XX:+UseG1GC:启用G1垃圾回收器,适用于需要大堆内存且停顿时间要求低的应用。-Xlog:gc*:开启垃圾回收日志,记录GC的详细信息。
- 永久代/元空间参数(JDK 8之前/之后)
-XX:PermSize=<size>:设置永久代的初始大小(JDK 8之前)。-XX:MaxPermSize=<size>:设置永久代的最大大小(JDK 8之前)。-XX:MaxMetaspaceSize=<size>:设置元空间的最大大小(JDK 8及之后)。
- 其他参数
-Xss<size>:设置每个线程的堆栈大小。例如,-Xss1m表示设置每个线程的堆栈大小为1MB。-XX:SurvivorRatio=<ratio>:设置新生代中Eden区和Survivor区的比例。例如,-XX:SurvivorRatio=8表示Eden区与Survivor区大小比例为8:1。-XX:MaxGCPauseMillis=<time>:设置垃圾回收的最大停顿时间,JVM会尽量控制在这个时间范围内。
使用示例
假设有一个Java应用程序,想要通过命令行来设置JVM参数。以下是一个使用示例:
java -Xms512m -Xmx1024m -Xmn256m -XX:+UseG1GC -jar your-application.jar
这个命令做了以下几件事:
- 设置JVM启动时堆内存的初始大小为512MB。
- 设置JVM可使用的最大堆内存大小为1024MB。
- 设置新生代大小为256MB。
- 启用G1垃圾回收器。
- 运行名为
your-application.jar的Java应用程序。
227



被折叠的 条评论
为什么被折叠?



