一般线上jvm配置,以及配置说明

本文深入探讨了JAVA_MEM_OPTS环境变量中的G1GC参数配置,包括如何通过调整参数如UseG1GC, MaxGCPauseMillis, G1NewSizePercent等来优化垃圾回收性能,减少暂停时间,并提高Java应用程序的运行效率。

JAVA_MEM_OPTS=" -server -XX:+UseG1GC -Xmx2G -XX:MaxGCPauseMillis=10 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=15 -XX:G1MaxNewSizePercent=30 -XX:SurvivorRatio=6 -XX:InitiatingHeapOccupancyPercent=30 -XX:G1MixedGCLiveThresholdPercent=50 -XX:G1HeapWastePercent=5 -XX:+PrintGCDetails -Xloggc:gc/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=home/fore/heapdump.hprof "

 

  • -XX:+UnlockExperimentalVMOptions 解锁实验参数
  • -XX:InitiatingHeapOccupancyPercent=30  如果整个堆的使用率超过这个值,g1会触发一次并发周期   提前启动标记周期
  • -XX:G1HeapWastePercent=5  设置您愿意浪费的堆百分比。如果可回收百分比小于堆废物百分比,Java HotSpot VM 不会启动混合垃圾回收周期。默认值是 10%

 

  • XX:G1MixedGCLiveThresholdPercent=50 为混合垃圾回收周期中要包括的旧区域设置占用率阈值。默认占用率为 65%。这是一个实验性的标志。必须要加 -XX:+UnlockExperimentalVMOptions   默认为65%,意思是垃圾占内存分段比例要达到65%才会被回收。如果垃圾占比太低,意味着存活的对象占比高, 在复制的时候会花费更多的时间

 

 

 

### 在线 JVM 性能调优方法与最佳实践 #### 设置合理的堆内存大小和新生代配置 为了提高 Java 应用程序的性能和稳定性,调整 JVM 参数至关重要。这包括设置合适的堆内存大小以及优化新生代的比例。通过合理分配这些资源,能够有效减少垃圾收集频率并加快处理速度[^1]。 ```bash java -Xms512m -Xmx2048m -XX:NewRatio=3 MyApp ``` 上述命令设置了初始堆大小为 512MB (`-Xms`) 和最大堆容量为 2GB (`-Xmx`), 同时设定了老年代与年轻代之间的比例为 3:1(`-XX:NewRatio`). #### 选择适合的应用场景下的垃圾回收器 不同类型的垃圾回收算法适用于不同的应用场景。对于低延迟需求较高的服务端应用程序来说, G1 或 ZGC 是较为理想的选择;而对于批处理作业,则可以选择 CMS 收集器来平衡吞吐量和响应时间的要求. #### 实时监控 JVM 的运行状态 利用 `jstat` 工具可以帮助开发者实时了解 JVM 内部的工作情况,特别是有关于垃圾回收的信息。定期查看此类统计数据有助于及时发现潜在问题,并据此做出相应调整[^2]: ```bash jstat -gc <pid> ``` 此命令会显示指定进程 ID 下面的对象创建率、垃圾收集次数及持续时间等重要指标. #### 使用 HPROF 快照进行深入分析 当遇到 OutOfMemoryError (OOM) 错误或其他严重异常时,可以通过生成 heap dump 文件来进行更详细的诊断工作。借助 JVisualVM 加载 .hprof 格式的转储数据后,不仅可以直观地观察到导致 OOM 发生的具体位置,还能统计各类对象占用的空间分布状况,从而辅助定位根本原因所在[^3]. ```bash jmap -dump:live,format=b,file=dump.hprof <pid> ``` 该指令用于导出当前正在运行中的 Java 进程的活动对象快照至本地磁盘上名为 "dump.hprof" 的文件中.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值