JVM参数配置推荐

JVM配置建议

参数

备注/参数释义

规范

JVM GC方法

ParallelGC:1.8默认,高吞吐量,响应时间不敏感

CMS:响应优先,堆内存8G以下优先选择

G1:响应优先,堆内存8G及以上选择

C端应用:8G及以上选择G1,8G以下选择CMS

B端应用:推荐使用ParallelGC

Xmx

堆的最大值

机器配置小于8G的,不超过50%

机器配置8G的,最多可以设置6G

机器配置12G的,最多设置为8G

机器配置16G的,最多设置为12G

机器配置 32G的,最多设置为24G

Xms

初始堆的大小,也是堆大小的最小值

配置与Xmx一致

MaxDirectMemorySize

堆外内存大小

一般无需配置 使用了OHC等堆外缓存的需要配置

ParallelGCThreads

并行GC时的线程数(ParallelGC、CMS、G1均适用) 此值过小,则stw时间变长,此值过大,影响吞吐量,CPU过高

必须配置=容器核数

ConcGCThreads

并发标记时的线程数 并发标记时并没有stw,CPU密集型任务(CMS、G1才有并发标记步骤)

限CMS、G1必须配置ParallelGCThreads的20%~50%一般为ParallelGCThreads/4或ParallelGCThreads/2

CICompilerCount

JIT进行热点编译的线程数CPU密集型任务

必须配置(值要大于2)推荐值如下:

1C容器: 2

2C容器:2

4C容器: 2~4

8C容器:2~4

16C容器: 4~12

MetaspaceSize MaxMetaspaceSize

元空间初始大小、元空间最大大小 如果未指定初始大小,默认是20m,应用启动时如果不够就会gc来扩容 元空间并不在虚拟机中,而是使用本机内存,因此受本机内存限制

jdk1.8适用,必须配置,需要大于256M,推荐512M

Xmn NewRatio

Xmn:新生代内存大小

NewRatio:老年代与新生代与内存容量的比例x:1

这2个参数只需设置其中1个即可,若都设置了则以Xmn为准

CMS必须设置,只需配置其中1个参数;G1不需要设置;

Xmn=堆内存Xmx的1/3 NewRatio=2

UseCMSInitiatingOccupancyOnly CMSInitiatingOccupancyFraction=x

CMSInitiatingOccupancyFraction为堆内存占用率达到百分比时开始GC的阈值 默认不设置时,由JVM自动计算垃圾回收的周期

CMS必须设置推荐值70~80,推荐75%

UseCMSCompactAtFullCollection CMSFullGCsBeforeCompaction=x

CMSFullGCsBeforeCompaction为配置fullGC时,进行了多少次fullGC之后对老年代进行压缩整理处理碎片

CMS专用,不强制 推荐值1

HeapDumpOnOutOfMemoryError HeapDumpPath=/export/Logs/

首次遭遇OOM时导出此时堆中相关信息 路径带“/”则为目录,否则为文件

必须配置文件目录需要为已存在的目录,若配置为具体文件,其所属目录也需要为已存在的目录

4C8G配置示例

使用G1

export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms4096m -Xmx4096m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:ParallelGCThreads=4 -XX:ConcGCThreads=2 -XX:CICompilerCount=2 -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs/

使用CMS

export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms4096m -Xmx4096m -XX:MetaspaceSize=256m -XX:MaxDirectMemorySize=512m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:NewRatio=2 -XX:ParallelGCThreads=4 -XX:ConcGCThreads=2 -XX:CICompilerCount=2 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSCompactAtFullCollection -XX:+CMSParallelRemarkEnabled -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs/

使用ParallelGC(1.8默认)

export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms4096m -Xmx4096m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UnlockExperimentalVMOptions -XX:ParallelGCThreads=4 -XX:CICompilerCount=2 -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/197931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微积分中值定理的双存在值证明问题@寻找辅助函数证明中值问题

文章目录 abstract微积分中值定理的双存在值证明题举例综合使用积分中值定理和微分中值定理例 双中值问题构造辅助函数法综合小结 abstract 微积分中值定理的双存在值证明问题寻找辅助函数证明中值问题 微积分中值定理的双存在值证明题举例 综合使用积分中值定理和微分中值定…

Linux--网络编程-ftp(TCP)网络通信-文件交互

项目要求:实现以下内容 远程控制: 1、查看服务器当前路径文件 ls 3、进入、退出服务器文件夹 cd 4、上传文件到服务器 put xxx 本地控制: 1、查看本地(客户端)文件 lls 2、进入客户端文件夹 lcd 3、获取服务器的文件…

音频录制软件哪个好?帮助你找到最合适的一款

音频录制软件是日常工作、学习和创作中不可或缺的一部分。选择一个适合自己需求的录音软件对于确保音频质量和提高工作效率至关重要。可是您知道音频录制软件哪个好吗?本文将深入探讨两种常见的音频录制软件,通过详细的步骤指南,帮助您了解它…

编写Java应用程序,输出满足1+2+3+……+n<8888的最大正整数n。

源代码: public class Main { public static void main(String[] args) { int i 1; int sum 0; for(i 1;;i){ sum i; if (sum >8888) break; } System.out.println(i-1); } } 实验运行截图:

数组实现循环队列(新增一个空间)

目录 一、前言 1.如何实现循环? 2.如何判断队列为空? 3.如何判断队列为满? 二、循环队列的结构定义 三、循环队列的创建及其初始化 四、入队 五、出队 六、取队头元素 七、取队尾元素 八、判空 九、判满 十、销毁队列 一、前言 …

【滑动窗口】LeetCode2953:统计完全子字符串

作者推荐 [二分查找]LeetCode2040:两个有序数组的第 K 小乘积 本题其它解法 【离散差分】LeetCode2953:统计完全子字符串 题目 给你一个字符串 word 和一个整数 k 。 如果 word 的一个子字符串 s 满足以下条件,我们称它是 完全字符串: s 中每个字符…

深入理解:指针变量的解引用 与 加法运算

前言 指针变量的解引用和加法运算是非常高频的考点,也是难点,因为对初学者的不友好,这就导致了各大考试都很喜欢在这里出题,通常会伴随着强制类型转换、二维数组、数组指针等一起考查大家对指针的理解。但是不要怕,也许…

论文解读--PointPillars- Fast Encoders for Object Detection from Point Clouds

PointPillars--点云目标检测的快速编码器 摘要 点云中的物体检测是许多机器人应用(如自动驾驶)的重要方面。在本文中,我们考虑将点云编码为适合下游检测流程的格式的问题。最近的文献提出了两种编码器;固定编码器往往很快,但牺牲了准确性,而…

腾讯视频崩了,年终奖没了。。。

最近互联网的瓜可是不少啊!最开始阿里云崩了,阿里云崩了之后,没几天滴滴也崩了,滴滴崩了之后,结果昨天腾讯视频也崩了......年底了,都要来刷刷存在感吗? 简直让我想起来一首儿歌: 阿…

使用autodl服务器,两个3090显卡上运行, Yi-34B-Chat-int4模型,并使用vllm优化加速,显存占用42G,速度23 words/s

1,演示视频地址 https://www.bilibili.com/video/BV1Hu4y1L7BH/ 使用autodl服务器,两个3090显卡上运行, Yi-34B-Chat-int4模型,用vllm优化,增加 --num-gpu 2,速度23 words/s 2,使用3090显卡 和…

25、矩阵乘法的本质

本来一直在介绍卷积,为什么突然出现一个矩阵乘法呢? 因为如果我们将卷积运算拆开,其中最核心的部分便是一个矩阵乘法。所以,卷积算法可以看做是带滑窗的矩阵乘法。 这里的滑窗,就是卷积运算中所示意的动图那样,所以,我们把滑窗固定,不看卷积核滑动这个动作,那么就是…

龙芯loongarch64服务器编译安装tokenizers

1、简介 Hugging Face 的 Tokenizers 库提供了一种快速和高效的方式来处理(即分词)自然语言文本,用于后续的机器学习模型训练和推理。这个库提供了各种各样的预训练分词器,如 BPE、Byte-Pair Encoding (Byte-Level BPE)、WordPiece 等,这些都是现代 NLP 模型(如 BERT、GP…

数据的标准化和归一化

前面我们已经学习了识别数据缺失值已经对缺失值进行处理的方法,但是KNN的准确率都不是很高,今天我们继续进行数据探索进一步增强机器学习流水线; 通过数据直方图可以看到数据中的列的均值、最大值、最小值等差别很大; from skle…

VT-MRPA1-151-1X/V0/0控制2FRE16模块式模拟放大器

适用于控制带有电气位置反馈的直动式比例减压阀(DBETR- 1X 类型)或带有电气位置反馈的比例流量控制阀(2FRE... 类型);控制值输入 1 0 V(差动输入); 可分别调节“上/下”斜坡时间的斜…

android 13.0 去掉usb授权提示框 默认给予权限

1.概述 在13.0的系统rom产品开发中,在进行iot关于插入usb设备的开发过程中,在插入usb设备时会弹出usb授权提示框,也带来一些不便, 这个需要默认授予USB权限,插拔usb都不弹出usb弹窗所以这要从usb授权相关管理页默认给与usb权限,接下来分析下 相关的实现功能流程 2.去掉u…

两种内网穿透的实现方法

目录 前言: 一、IP和端口的作用 二、公网IP不够用 三、内网穿透实现方法 方法一:设置路由器 方法二:使用某些APP,例如花生壳 前言: 本文会介绍为什么需要使用内网穿透以及实现内网穿透的两种方法 一、IP和端口…

Common.js 和 ES6 Module 中模块引入的区别

CommonJS和ES6 Module CommonJS是一种模块规范,最初被应用于Nodejs,成为Nodejs的模块规范。运行在浏览器端的javaScript由于也缺少类似的规范,在ES6出来之前,前端也实现了一套相同的模块规范(例如:AMD)&am…

mac磁盘管理工具 DiskCatalogMaker中文 for Mac

磁盘管理工具功能介绍 制作光盘 将您的磁盘图标拖放到目录窗口。 通过Roxio Toast Titanium自动添加刻录光盘。更多 对多张光盘使用批量扫描模式。 您也可以使用生成缩略图图像选项。 并请将其快速编目引擎与其他编目人员比较! 下载:DiskCatalogM…

【华为OD题库-064】最小传输时延I-java

题目 某通信网络中有N个网络结点,用1到N进行标识。网络通过一个有向无环图.表示,其中图的边的值表示结点之间的消息传递时延。 现给定相连节点之间的时延列表times[]{u,v, w),其中u表示源结点,v表示目的结点&#xff0…