码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java学习笔记1—JVM虚拟机—1.3参数调优


    系列文章目录

    Java学习笔记1—JVM虚拟机—1.1运行时数据区_摸金青年v的博客-CSDN博客

    Java学习笔记1—JVM虚拟机—1.2垃圾回收机制_摸金青年v的博客-CSDN博客


    目录

    系列文章目录

    前言

    一、参数含义

    1 堆内存参数设置

    2 垃圾回收参数设置

    3  GC日志分析

    总结


    前言

                Java虚拟机的参数调优,决定了是否合理的利用了现有机器的内存空间,程序运行时是否合理的占用和释放内存,避免虚拟机内存溢出,如何设置合理的参数非常重要。


    一、参数含义

    1 堆内存参数设置

    必须依据机器的核数和内存

    比如:4c8g机器

    -Xms 4096M:JVM启动初始化堆大小为4g,建议取内存的一半,充分利用内存。

    -Xmx 4096M:JVM最大的堆大小为2g,将-Xms和-Xmx的值配置为一样,可以避免每次垃圾回收完成后对JVM堆大小进行重新的调整。

    -Xmn 512M:堆中的新生代大小为512M

    -Xss 128K:每个线程的堆栈大小为128K

    比如:2c2g机器

    -Xms 1024M  -Xmx 1024M  -Xmn512M   -Xss128K

    2 垃圾回收参数设置

     需要依据应用是否高并发来制定

    2.1 高并发应用的参数建议

    分析:1)需要快速响应,允许频繁回收,但保持回收停顿时间少

               2)并发的垃圾回收算法,复制+标记清理

               3)机器内存和cpu足够

    推荐:CMS垃圾回收器

    参数配置:

    -XX:+UseConcMarkSweepGC                    表示:启用CMS

    -XX:CMSInitiatingOccupancyFraction=70   表示:内存占用70%时触发GC

    -XX:+UseCMSInitiatingOccupancyOnly      表示:一直使用CMSInitiatingOccupancyFraction=70

    高并发量特别高的时候,垃圾对象产生过多

    建议设置-XX:CMSInitiatingOccupancyFraction=30  提高GC的频率

    3  GC日志分析

    各参数表示的含义

    1)第一个参数:发生GC的时间

    2)这次垃圾收集的停顿类型,不是来区分新生代GC或老年代GC的

    新生代收集器也会出现Full GC,一般是由于分配担保失败导致的

    3)后面表示发生GC的区域,根据垃圾收集器的不同而名称不同

    4)Gc前内存占用->GC后内存占用(Java堆总容量)

    5)GC占用的时间,单位秒


    总结

    以上就是今天要讲的内容,本文仅仅简单介绍了虚拟机参数调优

  • 相关阅读:
    day15--使用postman, newman和jenkins进行接口自动化测试
    Dependency ‘org.redisson:redisson:‘ not found解决方法 三种刷新Maven项目的方法
    ubuntu20开启NTP服务器操作步骤
    【C++】公有_保护_私有_继承—代码学习记录
    单体进化微服务:拆分、注册、调用、网关、过滤、治理、分布式事务
    K8s---Pod搭建LNMP
    抽象类和接口有什么区别?
    Java---Stream流详解
    BFS之最短路径
    新版Testwell CTC++带来哪些新变化?
  • 原文地址:https://blog.csdn.net/sinat_41144773/article/details/125454919
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号