JVM参数

        JVM(Java Virtual Machine)参数用于调整 JVM 的行为和性能,可分为标准参数、非标准参数和非稳定参数。以下是一些常见的 JVM 参数及其用途:

非标准参数

        以-X开头,不同版本的 JVM 可能会有所不同。

堆内存相关
  • -Xms:设置 JVM 堆内存的初始大小。例如,-Xms512m表示初始堆内存为 512MB。
java -Xms512m YourMainClass
  • -Xmx:设置 JVM 堆内存的最大大小。通常建议将-Xms-Xmx设置为相同的值,以避免堆内存动态调整带来的性能开销。例如,-Xmx1024m表示最大堆内存为 1024MB。
java -Xms1024m -Xmx1024m YourMainClass
  • -Xmn:设置新生代的大小。新生代是堆内存中用于存放新创建对象的区域,合理设置新生代大小可以提高垃圾回收效率。例如,-Xmn256m表示新生代大小为 256MB。
java -Xms512m -Xmx512m -Xmn256m YourMainClass
栈内存相关
  • -Xss:设置每个线程的栈内存大小。栈内存用于存储线程的局部变量、方法调用等信息。例如,-Xss256k表示每个线程的栈内存大小为 256KB。
java -Xss256k YourMainClass

 

非稳定参数

        以-XX开头,这类参数在不同版本的 JVM 中可能会有较大变化,使用时需要谨慎。

垃圾回收相关
  • -XX:+UseSerialGC:启用串行垃圾回收器,适用于单 CPU 环境和对内存使用要求不高的场景。
java -XX:+UseSerialGC YourMainClass
  • -XX:+UseParallelGC:启用并行垃圾回收器,多个线程同时进行垃圾回收,提高垃圾回收效率,适用于多 CPU 环境和对吞吐量要求较高的场景。
java -XX:+UseParallelGC YourMainClass
  • -XX:+UseConcMarkSweepGC:启用并发标记清除(CMS)垃圾回收器,在大部分时间内可以与应用程序并发执行,减少垃圾回收时的停顿时间,适用于对响应时间要求较高的场景。
java -XX:+UseConcMarkSweepGC YourMainClass
  • -XX:+UseG1GC:启用 G1(Garbage First)垃圾回收器,将堆内存划分为多个大小相等的区域,优先回收垃圾最多的区域,适用于大内存、多 CPU 的环境。
java -XX:+UseG1GC YourMainClass
  • -XX:+PrintGCDetails:打印详细的垃圾回收信息,包括每次垃圾回收前后各代内存的使用情况、垃圾回收时间等,有助于分析垃圾回收性能。
java -XX:+PrintGCDetails YourMainClass
元空间相关
  • -XX:MetaspaceSize:设置元空间的初始大小,当元空间使用的内存达到该值时,会触发一次垃圾回收来释放未使用的类元数据。
java -XX:MetaspaceSize=128m YourMainClass
  • -XX:MaxMetaspaceSize:设置元空间的最大大小,默认值为无限制。
java -XX:MaxMetaspaceSize=256m YourMainClass
其他
  • -XX:+DisableExplicitGC:禁用显式的垃圾回收,即程序中调用System.gc()Runtime.getRuntime().gc()方法将不会触发垃圾回收操作。
java -XX:+DisableExplicitGC YourMainClass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趁早码

喜欢就鼓励一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值