# JVM 参数大全

JVM 参数大全

文章目录

  • JVM 参数大全
    • 内存参数
    • 垃圾收集器配置
    • GC日志配置
    • dump 日志参数配置
    • 发生Full GC时生成dump文件
    • 在IDEA中配置JVM参数

内存参数


-Xmx3550m:设置`JVM`最大堆内存为`3550M`
-Xms3550m:设置`JVM`初始堆内存 为`3550M`。此值可以设置与`-Xmx`相同,以避免每次垃圾回收完成后`JVM`重新分配内存。
-Xss128k: 设置每个线程的栈 大小。
-Xmn2g:设置堆内存年轻代 大小为`2G`。整个堆内存大小 = 年轻代大小 + 年老代大小 + 持久代大小 。持久代一般固定大小为`64m`,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,`Sun`官方推荐配置为整个堆的`3/8`-XX:PermSize=256M:设置堆内存持久代 初始值为`256M`-XX:MaxNewSize=size:新生成的对象能占用内存的最大值。
-XX:MaxPermSize=512M:设置持久代最大值为`512M`-XX:NewRatio=4:设置堆内存年轻代(包括Eden和两个Survivor区)与堆内存年老代的比值(除去持久代) 。设置为4,则年轻代所占与年老代所占的比值为1:4。
-XX:SurvivorRatio=4: 设置堆内存年轻代中Eden区与Survivor区大小的比值 。设置为4,则两个Survivor区(JVM堆内存年轻代中默认有2个Survivor区)与一个Eden区的比值为2:4,一个Survivor区占 整个年轻代的1/6。

垃圾收集器配置

// 配置使用Serial单线程垃圾收集器,虚拟机运行在Client模式下的默认值
// 新生代使用Serial  老年代则使用SerialOld
-XX:+UseSerialGC// 配置使用ParNew垃圾收集器
// 新生代使用ParNew 老年代则使用Serial Old
-XX:+UseParNewGC// 配置使用Parallel Scavenge垃圾收集器,虚拟机运行在Server模式下的默认值
// 新生代使用Parallel Scavenge 老年代使用Parallel Old收集器
-XX:+UseParallelGC// 配置使用Parallel Old垃圾收集器
// 新生代使用Parallel Scavenge 老年代使用Parallel Old收集器
-XX:+UseParallelOldGC// 配置使用CMS垃圾收集器
// 新生代使用ParNew 老年代使用CMS+Serial Old收集器
-XX:+UseConcMarkSweepGC// 配置使用G1垃圾收集器
-XX:+UseG1GC

GC日志配置

// 设置日志目录和日志名称
-Xloggc:/data/logs/gc-%t.log// 开启滚动生成日志 默认关闭
-XX:+UseGCLogFileRotation
// 滚动GC日志文件数,默认0不滚动,保留最多5个日志文件
-XX:NumberOfGCLogFiles=5
// GC文件滚动大小,需开启UseGCLogFileRotation,每个文件最大为20MB
-XX:GCLogFileSize=20M // 在进行GC的前后打印出堆的信息
-XX:+PrintHeapAtGC 
// 打印新生代晋升详情
-XX:+PrintTenuringDistribution
// 打印字符串常量池堆信息
-XX:+PrintStringTableStatistics
// 打印GC信息
-verbose:gc 
// 打印GC详细信息 
-XX:+PrintGCDetails
// 输出GC的时间戳(以基准时间的形式)
-XX:+PrintGCTimeStamps
// 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
-XX:+PrintGCDateStamps 
// 打印当前JVM参数信息 建议在每个程序中都添加上
-XX:+PrintCommandLineFlags
// 产生GC的原因(默认开启)
-XX:+PrintGCCause

dump 日志参数配置

// 默认关闭
// 可以通过jinfo -flag [+|-]HeapDumpOnOutOfMemoryError <pid> 或 jinfo -flag HeapDumpOnOutOfMemoryError=<value> <pid> 来动态开启或设置值
-XX:+HeapDumpOnOutOfMemoryError
// 设置文件存储路径
// 当HeapDumpOnOutOfMemoryError开启的时候,dump文件的保存路径,默认为工作目录下的,可以通过配置指定保存路径
-XX:HeapDumpPath=/data/dump/jvm.hprof

发生Full GC时生成dump文件

  • 不推荐开启会增加整体停顿时间
// 在Full GC前dump
-XX:+HeapDumpBeforeFullGC
// 在Full GC后dump
-XX:+HeapDumpAfterFullGC
// 设置Dump保存的路径
-XX:HeapDumpPath=/data/dump/jvm.hprof

在IDEA中配置JVM参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【Python实战因果推断】57_因果推理概论7

目录 The Bias Equation A Visual Guide to Bias The Bias Equation 既然你现在理解了为何样本平均值可能与它试图估计的平均潜在结果存在差异&#xff0c;我们不妨更详细地探究为什么平均差值通常无法恢复出ATE&#xff08;平均处理效应&#xff09;。 在销售的例子中&…

linux ftp操作记录

一.ftp 创建用户 passwd: user ftpuser does not exist 如果你遇到 passwd: user ftpuser does not exist 的错误&#xff0c;这意味着系统中不存在名为 ftpuser 的用户。你需要首先确认FTP用户是否是系统用户&#xff0c;还是FTP服务器软件&#xff08;如Pure-FTPd&#xff…

DATEDIFF()- Date Functions-SQL函数

DATEDIFF&#xff08;&#xff09;- Date Functions DATEDIFF() 函数是一种用于计算日期差异的常见日期函数。 通常用于比较两个日期之间的时间跨度&#xff0c;以便进行日期计算和分析。 语法 大多数数据库中&#xff0c;DATEDIFF() 函数的语法&#xff1a; DATEDIFF(unit,…

力扣141环形链表问题|快慢指针算法详细推理,判断链表是否有环|龟兔赛跑算法

做题链接 目录 前言&#xff1a; 一、算法推导&#xff1a; 1.假设有环并且一定会相遇&#xff0c;那么一定是在环内相遇&#xff0c;且是快指针追上慢指针。 2.有环就一定会相遇吗&#xff1f;快指针是每次跳两步&#xff0c;有没有可能把慢指针跳过去&#xff1f; 3.那一定…

108页PPT麦肯锡--以价值为导向的企业战略规划

以价值为导向的企业战略规划 企业的高层管理者&#xff0c;受股东和其他权益所有者的委托&#xff0c;充当价值管理者的角色。高层经理对于企业进行战略规划的过程&#xff0c;也就是通过价值管理&#xff0c;创造价值的过程 战略规划应首先从挖掘具体业务的价值驱动因素着手…

【重要】23集 搭建ESP-IDF和VSCODE开发环境 编译Helloword和AI聊天工程-《MCU嵌入式AI开发笔记》

【重要】23集 搭建ESP-IDF和VSCODE开发环境 编译Helloword和AI聊天工程-《MCU嵌入式AI开发笔记》 参考文档&#xff1a; https://lceda001.feishu.cn/wiki/Xqx3wH8wMi3BrrkmeTXcgLL7nQk 我们修改了secretkey等&#xff0c;之后我们修改menuconfig 配置menuconfig 之后出现问题…

【轨物方案】成套开关柜在线监测物联网解决方案

随着物联网技术的发展&#xff0c;电力设备状态监测技术也得到了迅速发展。传统的电力成套开关柜设备状态监测方法主要采用人工巡检和定期维护的方式&#xff0c;这种方法不仅效率低下&#xff0c;而且难以保证设备的实时性和安全性。因此&#xff0c;基于物联网技术的成套开关…

ECharts实现按月统计和MTBF统计

一、数据准备 下表是小明最近一年的旅游记录 create_datecity_namecost_money2023-10-10 10:10:10北京14992023-11-11 11:11:11上海29992023-12-12 12:12:12上海19992024-01-24 12:12:12北京1232024-01-24 12:12:12上海2232024-02-24 12:12:12广州5642024-02-24 12:12:12北京…

【Jupyter Notebook】一文详细向您介绍 【重启内核】

【Jupyter Notebook】一文详细向您介绍 【重启内核】 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通本硕…

基于Golang+Vue3快速搭建的博客系统

WANLI 博客系统 项目介绍 基于vue3和gin框架开发的前后端分离个人博客系统&#xff0c;包含md格式的文本编辑展示&#xff0c;点赞评论收藏&#xff0c;新闻热点&#xff0c;匿名聊天室&#xff0c;文章搜索等功能。 项目在线访问&#xff1a;http://bloggo.chat/ 或 http:/…

深入搞懂Checkpoint调优基础及原理

前言 在执行大量写操作的系统上,调优检查点对于获得良好的性能至关重要。然而,检查点是我们经常发现混淆和配置问题的地方之一,无论是在社区邮件列表中,还是在为客户提供支持和咨询期间。这篇文章旨在解释检查点是什么——目的和数据库如何实现它——以及如何调优它们。 注…

chapter08-面相对象编程的三大特征——封装

1、基础介绍 对电视机的操作就是典型封装 封装的好处&#xff1a;隐藏实现细节&#xff1b;可以对数据进行验证 2、封装的实现 3、入门案例 altinsert&#xff0c;getter and setter&#xff0c;自动插入

Docker(十)-Docker运行elasticsearch7.4.2容器实例

1.下载镜像 1.1存储和检索数据 docker pull elasticsearch:7.4.2 1.2可视化检索数据 docker pull kibana:7.4.22.创建elasticsearch实例 创建本地挂载数据卷配置目录 mkdir -p /software/elasticsearch/config 创建本地挂载数据卷数据目录 mkdir -p /software/elasticse…

Linux——管理本地用户和组(详细介绍了Linux中用户和组的概念及用法)

目录 一、用户和组概念 &#xff08;一&#xff09;、用户的概念 &#xff08;二&#xff09;、组的概念 补充组 主要组 二、获取超级用户访问权限 &#xff08;一&#xff09;、su 命令和su -命令 &#xff08; 二&#xff09;、sudo命令 三、管理本地用户账户 &…

PyTorch模型训练步步详解:从零开始构建深度学习流程

P y T o r c h 训练模型流程图 PyTorch训练模型流程图 P y T orc h 训练模型流程图

基于STM32瑞士军刀--【FreeRTOS开发】学习笔记(二)|| 堆 / 栈

堆和栈 1. 堆 堆就是空闲的一块内存&#xff0c;可以通过malloc申请一小块内存&#xff0c;用完之后使用再free释放回去。管理堆需要用到链表操作。 比如需要分配100字节&#xff0c;实际所占108字节&#xff0c;因为为了方便后期的free&#xff0c;这一小块需要有个头部记录…

Python | Leetcode Python题解之第283题移动零

题目&#xff1a; 题解&#xff1a; class Solution:def moveZeroes(self, nums: List[int]) -> None:n len(nums)left right 0while right < n:if nums[right] ! 0:nums[left], nums[right] nums[right], nums[left]left 1right 1

【管控业财一体化】

1. 引言 大型集团在现代企业管理中扮演着举足轻重的角色&#xff0c;其管控业财一体化解决方案是实现企业高效运营的关键。随着数字化转型的加速&#xff0c;业财一体化不再局限于财务与业务流程的简单融合&#xff0c;而是向着更深层次的数据驱动、智能化决策和价值创造方向发…

Java入门:05.Java中的数组002

通过上篇文章&#xff0c;相信大家对数组应该有了一个简单的了解&#xff0c;并对Java中的数据类型有了一个基本的认识&#xff0c;不仅如此我们还明白了怎样定义一个数组类型的变量&#xff0c;在这之后&#xff0c;让我们一起来更加深入的了解一下数组吧。 三、如何创建一个…

哈希表相关的力扣题和讲解和Java、C++常用的数据结构(哈希法)

20240725 一、什么时候适用什么样的结构。1.java中1.1 HashSet&#xff1a;1.2 TreeSet&#xff1a;1.3 LinkedHashSet&#xff1a;1.4 HashMap&#xff1a;1.5 TreeMap&#xff1a;1.6 LinkedHashMap&#xff1a;1.7 总结 2. c中2.1 std::unordered_set&#xff1a;2.2 std::s…