当前位置: 首页 > article >正文

JVM生产环境常用参数配置及调优建议

一、生产常用参数配置

JAVA_OPTS="-server -Xms4G -Xmx4 -Xmn2G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=8 -XX:G1HeapRegionSize=16m -XX:MaxGCCount=10 -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:-UseGCOverheadLimit -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./heap/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:./g1-gc.log 

二、常用参数详解  

以下表格里面的参数是以G1垃圾收集器为例,适用JDK8版本,列举生产环境常用的参数,大家可根据自身实际情况进行选择。

参数
含义
说明
-server 服务端模式 启动 Server VM(适用Web应用),优化应用程序的性能,适用于长期运行的生产环境,除此之外还有Client模式(适用C/S桌面程序)
-Xms 堆的初始大小

JVM 启动时堆内存的初始分配大小

-Xmx 堆的最大大小 堆内存的最大可用内存
-Xmn 新生代(Young Generation) 的大小 新生代用于存放新创建的对象,JVM 会先进行年轻代的垃圾收集
-XX:+UseG1GC 启用 G1垃圾收集器 适用于低延迟、高吞吐量的服务端应用。G1 具有低停顿时间的优势,并且能够预测 GC 的时间,适用2GB 及以上大内存
-XX:MaxGCPauseMillis 设置目标最大GC暂停时间(毫秒) G1 会尽量保证垃圾回收的暂停时间不超过这个值,减少对应用的影响
-XX:InitiatingHeapOccupancyPercent 设置G1GC触发垃圾回收的堆占用百分比 默认值为45%,即当堆使用率达到45%时,G1开始进行并发标记周期,并进行垃圾回收
-XX:ParallelGCThreads 设置并行GC线程数 线程数设置为 CPU 核心数的 2 倍较为合适
-XX:ConcGCThreads 设置并发GC线程数 合适的值可以加速并行 GC,但也会增加 CPU 的负载,建议也是CPU核心数2倍
-XX:G1HeapRegionSize 设置每个Region区域的大小 默认情况下,G1GC 会将堆分为 2048 个区域。调整此参数时需要考虑堆的大小以及系统需求
-XX:MaxGCCount 设置G1规定时间内的最大暂停次数 控制 G1GC 停顿次数的限制
-XX:MetaspaceSize 设置 Metaspace 区域的初始大小 元空间用于存放类的元数据信息,例如类的结构、方法等信息
-XX:MaxMetaspaceSize 设置 Metaspace(类元数据空间)的最大大小 Metaspace 存

http://www.kler.cn/a/488207.html

相关文章:

  • vue3+ElementPlus+VueCropper实现上传图片
  • Day97 minio
  • 详细分析 创建并上传到 GitHub 仓库
  • 【每日学点鸿蒙知识】调试、网络、缓存、富文本编辑等
  • Unity学习之UGUI进阶
  • android studio使用DataBinding
  • Unity使用Vuforia插件进行AR开发
  • Django REST framework 源码剖析-视图集详解(ViewSet)
  • 使用Logstash 将Mysql的数据导入ElasticSearch中
  • (超详细)Maven安装配置、以及在IDEA中创建Maven项目
  • LeetCode 2765. 最长交替子数组解析与解题思路
  • 机器学习之过拟合(算法参数,超参数) 欠拟合(模型参数)
  • 简单的spring boot tomcat版本升级
  • 解决Qt打印中文字符出现乱码
  • plane开源的自托管项目
  • 《Spring Framework实战》13:4.1.4.4.延迟初始化Bean
  • qml Column详解
  • 0109鹅厂面经
  • 媒体资源生产转码过程
  • Formality:默认配置文件