JVM运行时参数

105 篇文章 0 订阅
订阅专栏
3 篇文章 0 订阅
订阅专栏

1、标准参数选项

比较稳定,后续版本基本不会变化

2、-X参数选项

java -X

 

    -Xmixed           混合模式执行 (默认)
    -Xint             仅解释模式执行

 

-Xms<size>       设置初始Java堆大小,等价于-XX:InitialHeapSize
-Xmx<size>       设置最大Java堆大小,等价于-XX:MaxHeapSize
-Xss<size>         设置Java线程堆栈大小,等价于-XX:ThreadStackSize

3、-XX参数选项

3.1、分类(Boolean类型格式)

-XX:+<option> 表示启用option属性
-XX:-<option> 表示禁用optioan属性
-XX:-UseParallelGC 不选择垃圾收集器为并行收集器
-XX:+UseG1GC 表示启用G1收集器
-XX:+UseAdaptiveSizePolicy 自动选择年轻代区大小和相应的Survivor区比例

 

3.2、非Boolean类型格式

-XX:<option>=<number> 数值型格式
-XX:<name>=<String> 非数值型格式
-XX:NewSize=1024m  表示设置新生代初始大小为1024兆
-XX:MaxGCPauseMillis=500 表示设置GC停顿时间:500毫秒
-XX:GCTimeRatio=19 表示设置吞吐量
-XX:NewRatio=2 表示新生代和老年代的比例
-XX:HeapDumpPath=/usr/local/heapdump.hprof 知道heap转存文件的存储路径

3.3、特别的

-XX:+PrintFlagFinal
输出所有参数的名称和默认值
默认不包括Diagnostic和Experimental的参数
可以配合-XX:+UnlockDiagnosticVMOptions和-XX:UnlockExperimentalVMOptions使用

4、添加参数

4.1、在运行时添加

使用jinfo -flag <name>=<value> <pid>设置非Boolean类型参数
使用jinfo -flag [+|-]<name> <pid>设置Boolean类型参数
jinfo -flag UseParallelGC PID

 

4.2、在idea添加

 

 5、常用JVM参数选项

5.1、打印设置的XX选项及值

-XX:+PrintFlagsFinal  //表示打印出XX选项在运行程序时生效的值

5.2、堆、栈、方法区等内存大小设置

5.2.1、栈

-Xss128k  等价于-XX:ThreadStackSize,设置每个线程的栈大小为128k

5.2.2、堆内存

-Xms3550m  等价于-XX:InitialHeapSize,设置JVM初始堆内存为3500M
-Xmx3550m  等价于-XX:MaxHeapSize,设置JVM最大堆内存为3500M
-Xmn2g  设置年轻代大小为2G,即等价于-XX:NewSize=2g -XX:MaxNewSize=2g,也就是设置年轻代初始值和年轻代最大值都是2G  官方推荐配置为整个堆大小的3/8
-XX:NewSize=1024m 设置年轻代初始值为1024M
-XX:MaxNewSize=1024m 设置年轻代最大值为1024M
-XX:SurvivorRatio=8 设置年轻代中Eden区与一个Survivor区的比值,默认为8
-XX:+UseAdaptiveSizePolicy 自动选择各区大小比例,默认开启
-XX:NewRatio=2 设置老年代与年轻代(包括1个Eden区和2个Survivor区)的比值,默认为2
-XX:PretenureSizeThreadshold=1024 设置让大于此阈值的对象直接分配在老年代,单位为字节
只对Serial、ParNew收集器有效
-XX:MaxTenuringThreshold=15 默认值为15 新生代每次MinorGC后,还存活的对象年龄+1,当对象的年龄大于设置的这个值时就进入老年代
-XX:+PrintTenuringDistribution 让JVM在每次MinorGC后打印出当前使用的Survivor中对象的年龄分布
-XX:TargetSurvivorRatio 表示MinorGC结束后Survivor区域中占用空间的期望比例

 

-XX:+UseAdaptiveSizePolicy //自动选择各区大小比例,默认开启,会影响设置(建议打开)

5.2.3、方法区

5.2.4、直接内存

-XX:MaxDirectMemorySize

5.3、OutOfMemory相关的选项

-XX:+HeapDumpOnOutMemoryError 

表示在内存出现OOM的时候,生成Heap转储文件,以便后续分析,-XX:+HeapDumpBeforeFullGC和-XX:+HeapDumpOnOutMemoryError只能设置1个
-XX:+HeapDumpBeforeFullGC 
表示在出现FullGC之前,生成Heap转储文件,以便后续分析,-XX:+HeapDumpBeforeFullGC和-XX:+HeapDumpOnOutMemoryError只能设置1个,请注意FullGC可能出现多次,那么dump文件也会生成多个
-XX:HeapDumpPath=<path>  指定heap转存文件的存储路径,如果不指定,就会将dump文件放在当前目录中
-XX:OnOutOfMemoryError 指定一个可行性程序或者脚本的路径,当发生OOM的时候,去执行这个脚本

 

5.4、垃圾收集器相关选项

 

 

5.4.1、查看默认的垃圾回收器

-XX:+PrintCommandLineFlags:查看命令相关参数
jinfo -flag 相关垃圾回收器参数 进程ID

5.4.2、Serial回收器(串行)

作为HotSpot中Client 模式下的默认新生代垃圾收集器,Serial Old是运行在Client模式下默认的老年代的垃圾回收器

5.4.3、Parnew回收器(并行)

年轻代使用的并行收集器,不影响老年代

5.4.4、Parallel回收器(并行 jDK默认垃圾收集器,主打吞吐量)

5.4.5、CMS回收器(并发,垃圾回收线程,和用户线程,JDk1.5开启)

5.4.6、G1回收器

5.4.7、怎么选择垃圾收集器

5.5、GC日志相关选项

常用参数:

-verbose:gc 输出日志信息,默认输出的标准输出,可以独立使用
-XX:+PrintGC 等同于-verbose:gc 表示打开简化的日志 可以独立使用
-XX:+PrintGCDetails 在发生垃圾回收时打印内存回收详细的日志, 并在进程退出时输出当前内存各区域的分配情况 可以独立使用
-XX:+PrintGCTimeStamps 程序启动到GC发生的时间秒数 不可以独立使用,需要配-XX:+PrintGCDetails使用

-XX:+PrintGCDateStamps 输出GC发生时的时间戳(以日期的形式,例如:2013-05-04T21:53:59.234+0800)不可以独立使用,可以配合-XX:+PrintGCDetails使用
-XX:+PrintHeapAtGC 每一次GC前和GC后,都打印堆信息,可以独立使用
-XIoggc:<file> 把GC日志写入到一个文件中去,而不是打印到标准输出中

5.6、其他

JVM学习(五):JVM运行时参数
m0_49499183的博客
01-27 1243
注意:只有显式使用Eden区和Survivor区的比例,才会让比例生效,否则比例都会自动设置,至于其中的原因,请看下面的-XX:+UseAdaptiveSizePolicy中的解释,最后推荐使用默认打开的-XX:+UseAdaptiveSizePolicy设置,并且不显示设置-XX:SurvivorRatio。默认开启,将会导致Eden区和Survivor区的比例自动分配,因此也会引起我们默认值 -XX:SurvivorRatio=8失效,所以真实比例可能不是8,比如可能是6等。
JVM性能监控与调优 - 怎样添加JVM参数,GC垃圾收集器参数介绍
wdquan19851029的专栏
03-26 1513
在各种各样的执行环境下,应该怎样添加JVM参数呢? 参考尚硅谷 宋红康老师教程
JVMJava虚拟机)优化大全和案例实战
碧荷故乡_胡奇的专栏
03-06 5万+
堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New 即 年轻代(Yo
IDEA设置JVM运行参数的方法步骤
08-18
IDEA设置JVM运行参数的方法步骤 IDEA是JetBrains公司开发的一款功能强大且功能全面的集成开发环境(Integrated Development Environment),其提供了许多实用的功能和设置选项,其中包括设置JVM运行参数的功能。...
IntelliJ IDEA设置JVM运行参数的操作方法
08-27
例如,在命令提示符下启动并使用JVM时,可以使用java命令来设置JVM运行参数,例如:java -Xmx128m -Xms64m -Xmn32m -Xss16m Test。在集成开发环境下,例如eclipse,可以在eclipse.ini文件中设置JVM运行参数,例如:-...
JVM运行时数据区原理解析
08-25
JVM运行时数据区原理解析 JVM运行时数据区是Java虚拟机中最重要的组成部分之一,它是JVM运行时的核心区域,负责存储和管理程序运行时需要的数据。根据JVM规范,JVM运行时数据区可以分为五个部分:PC寄存器、虚拟机...
详解JVM 运行时内存使用情况监控
08-26
详解 JVM 运行时内存使用情况监控 在 Java 语言中,开发者不能直接控制程序运行内存,对象的创建都是由类加载器一步步解析、执行与生成于内存区域中的。并且 JVM 有自己的垃圾回收器对内存区域管理、回收。然而,...
java显示当前运行时参数(java运行参数)
09-04
本文将详细介绍如何使用Java显示当前运行时参数,包括JVMJava虚拟机)参数、系统属性等。 首先,Java提供了一个内置类`java.lang.System`,该类包含了获取和设置系统属性的方法。`System.getProperties()`方法...
jvm启动参数大全
04-11
NULL 博文链接:https://zhangzemin007.iteye.com/blog/1683963
JVM学习笔记之运行时参数
四国棋客
04-03 633
目录 背景 JVM参数选项类型 标准参数选项 特点 -server与-client -X参数选项 特点 各种选项 JVM的JIT编译模式相关 特别地 -XX参数选项 特点 分类 特别地 添加JVM参数选项 idea 运行jar包 程序运行过程中 常用的JVM参数选项 打印设置的XX选项及值 -XX:+PrintFlagsInitial -XX:+PrintFlagsFinal -XX:+PrintCommandLineFlags -XX:+PrintVMOpt
JVM常用内存参数配置
热门推荐
大鹏
11-08 6万+
一、    常用参数   -Xms    JVM启动时申请的初始Heap值,默认为操作系统物理内存的1/64但小于1G。默认当空余堆内存大于70%时,JVM会减小heap的大小到-Xms指定的大小,可通过-XX:MaxHeapFreeRation=来指定这个比列。Server端JVM最好将-Xms和-Xmx设为相同值,避免每次垃圾回收完成后JVM重新分配内存;开发测试机JVM可以保留默认值。
jvm内存模型与运行参数
zmq000的博客
10-09 401
1 jdk1.8的jvm内存模型 1.1 jvm内存区域划分 大多数 JVM 将内存区域划分为 Method Area(方法区),Heap(堆) , Program Counter Register(程序计数器) , VM Stack(虚拟机栈),Native Method Stack ( 本地方法栈 ),其中Method Area 和 Heap 是线程共享的 ,VM Stack,Native Method Stack 和Program Counter Register 是非线程共享的。为什么
Java虚拟机参数详解
信心,恒心,野心,爱心兼具者,可谓准成功人士!
06-17 471
下面的讨论以Windows平台的Sun MicroSystem实现的java5虚拟机为蓝本,其他操作系统或其他公司实现的虚拟机参数会有部分不同,但大部分含义都和Windows上的类似。Java5与以前版本相比,虚拟机参数大部分保持了向前兼容,同时也增加了一些新的参数,本文将对这些参数的作用作详细描述,使虚拟机能更符合运行环境的需要,获得更好的性能和稳定性。 Java在运行已编译完成的类时,是通过...
JVM下篇:性能监控与调优篇>04-JVM运行时参数
VectorX's Blog
05-06 356
https://gitee.com/vectorx/NOTE_JVM https://codechina.csdn.net/qq_35925558/NOTE_JVM https://github.com/uxiahnan/NOTE_JVM 文章目录4. JVM运行时参数4.1. JVM参数选项4.1.1. 类型一:标准参数选项4.1.2. 类型二:-X参数选项4.1.3. 类型三:-XX参数选项4.2. 添加JVM参数选项4.3. 常用的JVM参数选项4.3.1. 打印设置的XX选项及值4.3.2. 堆.
如何避免可怕的中年危机?看完这篇彻底明白了
m0_58397123的博客
06-28 794
一. JVM内存区域的划分 1.1  java虚拟机运行时数据区 java虚拟机运行时数据区分布图: JVM栈(Java Virtual Machine Stacks): Java中一个线程就会相应有一个线程栈与之对应,因为不同的线程执行逻辑有所不同,因此需要一个独立的线程栈,因此栈存储的信息都是跟当前线程(或程序)相关信息的,包括局部变量、程序运行状态、方法返回值、方法出口等等。每一个方法被调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。 堆(Heap
JVM 参数使用总结
Heqianqian的博客
08-16 1万+
1. 参数分类 1.标准参数 功能和输出的参数都是很稳定的 在未来的JVM版本中不会改变 可以使用java -help检索出所有的标准参数 2.X参数 非标准化参数 在未来的版本可能会改变 所有的参数都用-X开始 可以使用java -X检索 但是注意没有-Xcomp 3.XX参数 非标准 很长一段时间不会列出来 用于JVM开发的debug和调优 说明XX参数的语法:所有的XX参数都以”-XX
JVM运行参数设置建议值
最新发布
02-21
JVM运行参数的设置需要根据具体的应用场和需求来进行调整,以下是一些常见的JVM运行参数设置建议值: 1. 初始堆大小(-Xms)和最大堆大小(-Xmx):可以根据应用的内存需求来设置。一般建议将初始堆大小和最大堆...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • mac m1 安装Centos 7 已解决 23448
  • mac使用的pd虚拟机window黑屏 ---已解决 5942
  • Elasticsearch的测试数据 5631
  • 系统的性能与压力测试 3541
  • logback 配置只输出DEBUG级别的sql语句,和info的级别一起输出到日志文件中 3386

分类专栏

  • JAVA 105篇
  • M1安装各种软件 3篇
  • 面试 1篇
  • 配置 19篇
  • 工具 7篇
  • 操作命令 3篇
  • 简便操作 3篇
  • 错误 17篇
  • 安装 12篇
  • 1篇
  • 其他 1篇
  • 文档 1篇
  • ES 1篇
  • 异常 1篇
  • JUC 3篇
  • 秒杀服务 1篇
  • SQL 2篇
  • jdk配置

最新评论

  • mac idea 下载spring 源码遇到的问题

    普通网友: 优质好文,博主的文章细节很到位,兼顾实用性和可操作性,期待博主持续带来更多好文【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • mac idea 下载spring 源码遇到的问题

    普通网友: 优质好文,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • mac idea 下载spring 源码遇到的问题

    普通网友: 大佬高质量文章,图文并茂,逻辑清晰,受益匪浅,期待大佬新作。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • mac idea 下载spring 源码遇到的问题

    普通网友: 大佬的文章写的太精辟了 让我深刻了解了这篇文章的精髓 谢谢大佬分享,希望继续创作优质博文。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • simplemde 下载问题

    上河雨滴: 感谢,解决了问题

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • mac idea 下载spring 源码遇到的问题
  • mac 卸载Cisco 一个命令就成功
  • MAC M1 安装mongodb7.0.5 版本
2024年4篇
2023年2篇
2022年86篇
2021年84篇
2020年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐路上的小人物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司同乐SEO按天收费石岩模板制作石岩百搜标王罗湖网站制作设计光明外贸网站制作观澜关键词按天收费南澳网站seo优化坪地百搜词包罗湖seo网站推广宝安百度seo平湖网站优化按天计费广州网站推广同乐企业网站建设横岗网站开发松岗百度网站优化排名广州网站制作设计南联seo双龙网站建设设计沙井网站优化按天收费南联企业网站制作大鹏标王大芬优秀网站设计光明企业网站建设盐田网站排名优化大鹏网页设计盐田企业网站改版南山网站设计模板爱联模板推广光明建设网站横岗百度网站优化排名歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化