首页 > 其他分享 >【JVM基础15】——实践-JVM调优的参数有哪些?

【JVM基础15】——实践-JVM调优的参数有哪些?

时间:2024-08-06 23:53:20浏览次数:12  
标签:15 JVM Eden 调优 线程 垃圾 设置 大小 年轻

目录


1- 引言:

对于 JVM 调优,主要就是调整年轻代、老年代、元空间的内存空间大小及使用的垃圾回收器类型。主要有以下类型

  • 设置堆空间大小
  • 虚拟机栈的设置
  • 年年轻代中 Eden 区和两个 Survivor 区的大小比例
  • 年轻代晋升老年代阈值
  • 设置垃圾收集器

2- ⭐核心:

2-1 设置堆空间大小

  • 设置堆的初始大小和最大大小,为了防止垃圾收集器在初始大小、最大大小之间收缩堆而产生额外的空间,通常把最大、最小设置为相同值。
    • Xms:设置堆的初始化大小
    • Xmx:设置堆的最大大小

image.png
堆空间设置为多少合适?

  • 最大大小的默认值是物理内存的 1/4,初始大小是物理内存的 1/64
  • 堆太小,可能会频繁的导致年轻代和老年代的垃圾回收,会产生 STW ,暂停用户线程
  • 堆内存大肯定是好的,存在风险,假如发生了 Full GC,它会扫描整个堆空间,暂停用户线程的时间长
  • 设置参考推荐:尽量大,也要考察一下当前计算机其他程序的内存使用情况。

2-2 虚拟机栈的设置

  • 虚拟机栈的设置:每个线程默认会开启 1M 内存,用于存放栈帧、调用参数、局部变量等,但一般 256K 就够用。通常减少每个线程的堆栈,可以产生更多的线程,但这实际上还受限于操作系统。
    • Xss:对每个线程 stack 大小的调整
  • 设置参考推荐:一般设置 256K 或者 512K 都是可以的。

image.png


2-3 年轻代 Eden 区和两个 Survivor 区的大小比例

  • 年轻代中 Eden 区和两个 survivor 区的大小比例
  • 设置年轻代中 Eden 区和两个 survivor 区的大小比例,该值如果不设置,则默认比例为 8:1:1。通过增大Eden 区的大小来减少 YGC 发生的次数,但有时我们发现,虽然次数减少了,但 Eden 区满的时候,由于占用的空间较大,导致释放缓慢,此时 STW 的时间较长,因此需要按照程序情况去调优。
    • -XXSurvivorRatio=8

image.png


2-4 年轻代晋升老年代阈值

  • -XX:MaxTenuringThreshold=threshold
    • 默认为 15
    • 取值范围为 0-15

2-5 设置垃圾回收器

  • 设置垃圾回收收集器

通过增大吞吐量提高系统性能,可 ,可以通过设置并行垃圾回收收集器。

  • -XX:+UserParallelGC
  • -XX:+UserParalleOldGC
  • --XX:+UserG1GC

3- 小结:

3-1 JVM调优的参数有哪些?

在这里插入图片描述

标签:15,JVM,Eden,调优,线程,垃圾,设置,大小,年轻
From: https://blog.csdn.net/weixin_44382896/article/details/140968954

相关文章

  • 第15天:信息打点—主机架构&蜜罐识别&WAF识别&&端口扫描&协议识别&服务安全
    时间轴主要内容1、端口扫描-应用&协议2、WAF识别-分类&识别3、蜜罐识别-分类&识别解决:1、Web服务器&应用服务器差异性2、WAF防火墙&安全防护&识别技术3、蜜罐平台&安全防护&识别技术端口服务及渗透......
  • 代码随想录算法训练营第七天|454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和,总结
    力扣题部分:454.四数相加II题目链接:.-力扣(LeetCode) ​​​​​思路(map哈希表):    将数组分为两组分别用双重for循环遍历。第一组将来自不同数组的两个数之和(记为sum1)作为map的key,两个数之和出现的次数作为map的value,第二组通过在map查询来自不同数组的两......
  • [Tkey] CF1526B I Hate 1111
    给定一个数,将它表示成若干个形如\(11,111,1111\cdots\)之类的数之和,判断有没有可行解考虑到一种贪心,即从高位开始依次向下减去每位数字,判断还能不能减动,减不动或者没减完就报告无解.显然这样的贪心仅在\(11,111,1111\cdots\)的出现次数之和不超过\(9\)时是稳定正确的,一......
  • SSM高校就业管理系统157v3 系统界面在最后面
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:学生,招聘信息,学生应聘,企业,班级,教师开题报告内容一、研究背景与意义随着高校招生规模的不断扩大,毕业生就业问题日益突出。传统招聘方式已难以满足......
  • ARC152C 题解
    blog。可能是很简单的,但是我实在是不会这种神秘题/ll/ll。Conclusion1.记\(d=a_n-a_1\),则极差始终等于\(d\)。证明显然。Conclusion2.操作极值时,最小值始终变化为\(d\),并且可以进行无限次这样的变化。证明显然。题意转变:最小化\((\texttt{最小值}\bmodd)\),且最小......
  • Navicat Premium15下载破解教程
    一、激活前的准备下载软件安装包网盘地址:https://pan.quark.cn/s/8651c02c7191密码:Es8Y2.环境准备断网关闭“病毒和威胁防护”设置中的“实时保护”二、安装navicatpremium,按步骤进行即可。注意:安装成功后,不要打开软件。在后面步骤才能打开。(一不小心......
  • JVM知识总结(性能调优)
    文章收录在网站:http://hardyfish.top/文章收录在网站:http://hardyfish.top/文章收录在网站:http://hardyfish.top/文章收录在网站:http://hardyfish.top/性能调优何时进行JVM调优?遇到以下情况,就需要考虑进行JVM调优了:Heap内存(老年代)持续上涨达到设置的最大内存值Full......
  • 鸿蒙UI系统组件15——画布(Canvas)
    如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧!扫描下方名片,关注公众号,公众号更新更快,同时也有更多学习资料和技术讨论群。⭐️ 概 述      前一章我们学习了Shape绘制来绘制自定义形状,在实际的业务开发中,有可能我们需要绘制更复杂的图形,例如统计图中的饼图、......
  • L1-048 矩阵A乘以B 分数 15
    //10'42"#include<iostream>usingnamespacestd;constintN=110;intarr[N][N];intbrr[N][N];intcrr[N][N];intmain(){intx1,y1;cin>>x1>>y1;for(inti=1;i<=x1;++i)for(intj=1;j......
  • [COCI2015-2016#3] NEKAMELEONI 题解
    前言题目链接:LOJ;洛谷。题意简述在二叉树上,不断删除叶子,你要维护其树链剖分后重儿子编号和。如果两个孩子大小相同,在一开始连向左儿子,或者保持修改前的连接。\(n\leq2\times10^5\)。题目分析有分块的、有二分的,那我来讲一讲我的想法——树剖维护树剖。首先反转操作,不断......