JVM常见参数

从Elasticsearch的jvm.options读懂JVM参数的生效核验、内存分账与诊断兜底 写进配置的JVM参数不一定生效,生效的参数也未必适合你的场景。本文以Elasticsearch的jvm.options为样板,结合JDK 8与JDK 17的可复现实验,先讲如何用PrintFlagsFinal、jcmd与进程内自检核实参数终值和来源,再讲堆怎么分:存储型服务把一半内存留给页缓存,堆不越过约31GB的压缩指针边界;计算型服务先用NMT量出堆外再定堆。随后梳理分代比例与晋升阈值、GC日志新旧写法、堆转储与OOM退出、异常栈保留及CMS到G1、ZGC的演进,最后给出模板与核验清单。 阅读详情

这些选项控制Java HotSpot虚拟机怎么进行垃圾回收。

- -XX:+AggressiveHeap

java堆最佳化设置。设置多个参数使长时间运行过的任务使用密集的内存分配。 默认这个选项时关闭的,也就是堆不是最佳化。

- -XX:+AlwaysPreTouch

在调用main函数之前,使用所有可用的内存分页。这个选项可以用来测试长时间运行的系统,所有的内存都已被分配。默认这个选项

是关闭的,也就是不会使用所有的内存分页。

- -XX:+CMSClassUnloadingEnabled

当使用CMS垃圾收集器时,允许类卸载。这个选项模式是开启的。为了禁止类卸载,那么可以使用: -XX:-CMSClassUnloadingEnabled

- -XX:CMSExpAvgFactor=percent

指定垃圾收集消耗的时间百分比。默认这个数是25%。下面的例子设置成15%:

-XX:CMSInitiatingOccupancyFraction=percent

设置CMS收集开始的百分比。默认值是-1,任何的负值表示会使用-XX:CMSTriggerRatio选项来定义这个百分比数。

下面的例子设置成了20%,表示老年代使用20%后开始垃圾收集;

-XX:+CMSScavengeBeforeRemark

在CMS重新标记之前执行清除操作,默认这个选项是关闭的。

-XX:CMSTriggerRatio=percent

设置由-XX:MinHeapFreeRatio指定值的百分比的值。默认是80%。

下面的例子设置成了75%:

-XX:ConcGCThreads=threads

并发GC的线程数量。默认值根据cpu的数量而定。下面的例子把这个值设置为2

-XX:+DisableExplicitGC

这个选项控制显式GC,也就是调用System.gc(),默认在调用这个方法的时候就会发生gc,如果不允许显式gc,那么调用这个方法的时候,就不会发生gc行为。

-XX:+ExplicitGCInvokesConcurrent

当调用System.gc()的时候, 执行并行gc。默认是不开启的,只有使用-XX:+UseConcMarkSweepGC选项的时候才能开启这个选项。

-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses

当调用System.gc()的时候, 执行并行gc。并在垃圾回收的周期内卸载类。 只有使用-XX:+UseConcMarkSweepGC选项的时候才能开启这个选项。

-XX:G1HeapRegionSize=size

当使用G1收集器时,设置java堆被分割的大小。这个大小范围在1M到32M之间。下面的例子把这个值设置成了16M。

-XX:+G1PrintHeapRegions

打印G1收集器收集的区域。默认这个选项是关闭的。

-XX:G1ReservePercent=percent

使用g1收集器时,设置保留java堆大小,防止晋升失败。范围是0到50.默认设置是10%。下面的例子把这个值设置成20%。

-XX:InitialHeapSize=size

初始化堆大小。

-XX:InitialSurvivorRatio=ratio

设置幸存区的比例。

-XX:InitiatingHeapOccupancyPercent=percent

设置进行垃圾回收的堆占用的百分比。

-XX:MaxGCPauseMillis=time

设置GC最大暂停时间。默认没有最大暂停时间。下面的例子设置最大暂停时间为500毫秒。

-XX:MaxHeapSize=size

最大堆大小。

-XX:MaxHeapFreeRatio=percent

设置堆垃圾回收后最大空闲空间比例。默认是70%。下面的例子把这个值设置成75.

-XX:MaxMetaspaceSize=size

设置最大的本地内存类员工间可用于垃圾回收。默认没有限制。下面的例子把这个值设置成256m

-XX:MaxNewSize=size

新生代最大大小。

-XX:MaxTenuringThreshold=threshold

在新生代中对象存活次数(经过Minor GC的次数)后仍然存活,就会晋升到旧生代。

-XX:MetaspaceSize=size

设置类元空间大小。

-XX:MinHeapFreeRatio=percent

堆最小空间百分比。

XX:NewRatio=ratio

设置新生代和老年代的比例。

-XX:NewSize=size

设置年轻代的大小

-XX:ParallelGCThreads=threads

并行收集线程数量。

-XX:+ParallelRefProcEnabled

如果应用有很多的Reference or finalizable objects,那么可以使用-XX:+ParallelRefProcEnabled来减少duration。

-XX:+PrintAdaptiveSizePolicy

打印自适应收集的大小。默认关闭。

-XX:+PrintGC

打印GC信息。

-XX:+PrintGCApplicationConcurrentTime

打印自从上次gc停顿到现在过去了多少时间。

-XX:+PrintGCApplicationStoppedTime

打印gc一共停顿了多长时间。

-XX:+PrintGCDateStamps

打印gc时间戳

-XX:+PrintGCDetails

打印gc详细信息

-XX:+PrintGCTaskTimeStamps

为每个独立的gc线程打印时间戳。

-XX:+PrintGCTimeStamps

打印gc时间戳

-XX:+PrintStringDeduplicationStatistics

打印字符串去重统计信息。

-XX:+PrintTenuringDistribution

打印对各代信息。

-XX:+ScavengeBeforeFullGC

在进行fullGC时先进行YGC。

-XX:StringDeduplicationAgeThreshold=threshold

字符串存活的最小年龄 ,默认是3.

-XX:SurvivorRatio=ratio

幸存代的比例。

-XX:TargetSurvivorRatio=percent

年轻代收集后,幸存代期望的比例值。

-XX:TLABSize=size

设置本地线程收集缓冲区的初始化大小。

-XX:+UseAdaptiveSizePolicy

使用自适应分代大小。

-XX:+UseConcMarkSweepGC

使用cms垃圾回收器。

-XX:+UseG1GC

使用G1垃圾回收器

-XX:+UseGCOverheadLimit

限制GC的运行时间

-XX:+UseParallelGC

使用 Parallel收集器。

-XX:+UseParallelOldGC

使用 ParallelOld垃圾回收器。

-XX:+UseParNewGC

使用ParNew垃圾回收器

-XX:+UseSerialGC

使用 Serial垃圾回收器。

-XX:+UseStringDeduplication

使用字符串去重机制。

-XX:+UseTLAB

年轻代中使用本地线程收集块

HUAWEI华为荣耀MagicBook MateBook B D E X 13 14 16 笔记本MateStation台式机原装Win10出厂Windows11系统 HUAWEI华为MateBookX原装出厂系统恢复原厂系统,型号:MACHC-WAE9LP、EUL-W29P、MACHR-W19L、MACHR-W29、MACHD-WFE9、MRGF-16、MACHR-W19BL、MACHD-WFE9Q、WT-W19、Mach-W19、Mach-W29、WT-W09、WT-W19、MACH-W29等。HUAWEI华为MateBookE原装出厂系统恢复原厂系统,型号:PAK-AL09、GK-W7X、GK-G58、GK-W76、DRC-W76等。 阅读详情

相关推荐

Multisim新手必看:从零搭建数字时钟仿真电路(附完整原理图)

本文详细介绍了如何使用Multisim从零开始搭建数字时钟仿真电路,涵盖晶振电路设计、计数电路实现、校时功能配置等关键步骤。通过完整的原理图和实用技巧,帮助新手快速掌握Multisim仿真设计,实现精准的数字时钟功能。

ios99的博客 328

JVM常用调优参数 ——JVM篇

JVM常用性能调优参数详解 ​ 在学习完整个JVM内容后,其实目标不仅是学习了解整个JVM的基础知识,而是为了进行JVM性能调优做准备,所以以下的内容就是来说说JVM性能调优的知识。 一、性能调优 ​ 性能调优包含多个层次,比如:架构调优、代码调优、JVM调优、数据库调优、操作系统调优等等。 ​ 架构调优和代码调优是JVM调优的基础,其中架构调优是对系统影响最大的。 性能调优基本上按照以下步骤进行: 明确优化目标 发现性能瓶颈 性能调优 通过监控及数据统计工具获得数据 确认是否达到目标 二、何时进

YING—country的博客 2万+

告别概念晕眩:用TC3xx SMU和TLF35584的配置实例,搞懂ASIL D功能安全落地

本文通过英飞凌TC3xx系列MCU的SMU模块与TLF35584电源管理芯片的协同配置实例,详细解析了如何实现符合ASIL D功能安全标准的刹车辅助ECU。文章涵盖SMU报警源配置、响应动作类型、TLF35584的安全状态管理,以及构建完整安全闭环的实践方法,帮助工程师将抽象的安全概念落地为具体设计方案。

weixin_30647065的博客 436

JVM参数详细配置说明

对于大多数应用来说,Java 堆(Java Heap)是Java 虚拟机所管理的内存中最大的一块。Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。 1. JVM内存结构 由上图可以清楚的看到JVM的内存空间分为3大部分: 堆内存 方法区 栈内存 其中栈内存可以再细分为java虚拟机栈和本地方法栈,堆内存可以划分为新生代和老年代,新生代中还可以再次划分为Eden区...

傅红雪的专栏 1万+

从MATLAB代码入手:手把手教你复现OTFS调制解调核心模块(附完整函数解析)

本文详细解析了OTFS调制解调技术在MATLAB中的实现方法,包括核心模块如ISFFT变换、海森堡变换及MP检测算法的代码实现。通过完整的函数解析和性能验证框架,帮助通信工程师快速掌握这一前沿技术,提升在高速移动场景下的通信系统设计能力。

weixin_42568801的博客 319

从DCI-P3到sRGB:跨媒体色彩转换的矩阵奥秘与实践

本文深入解析从DCI-P3到sRGB的色彩空间转换技术,揭示矩阵运算的核心原理与实践技巧。通过实战案例展示如何正确处理白点差异、伽马曲线转换等关键环节,帮助影视从业者解决跨媒体色彩匹配问题,确保作品在不同设备上呈现一致的视觉效果。

weixin_28709649的博客 328

JVM虚拟机默认参数

前言 我们都知道jvm有一个堆内存的概念,我们可以通过-Xmx:最大堆内存,-Xms初始化堆内存来进行设置。 那么当我们不设置时默认是多少呢 堆内存 这里直接贴上官网jdk1.8的链接https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/parallel.html#default_heap_size 翻译如下: 默认堆大小 除非在命令行上指定了初始堆大小和最大堆大小,否则它们将根据计算机上的内存量进行计算。 最大物理内存大小不超

weixin_42324471的博客 1859

别再说Fortran过时了!手把手教你用VS Code + gfortran搭建现代开发环境(2024版)

本文打破Fortran过时的刻板印象,详细介绍如何利用VS Code和gfortran搭建现代开发环境。从编译器安装、VS Code插件配置到项目结构标准化,提供完整的2024版跨平台解决方案,并展示Fortran 2023标准的协程、并行计算等现代特性,助力科学计算与高性能开发。

weixin_42629815的博客 242

JVM启动参数大全及默认值

Java启动参数共分为三类; 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容; 其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用; 一、JVM标准参数(-) JVM的标准参数都是以”-“开头,通过输入”java -help”或者”java -?”,可以查看JVM标准参数列表。如 以下是JVM标准参数的详细

街头看日出的博客 485

ObjectMapper解析JSON数据

的时候捕获的数据,往往需要结合文档所定义的类进行转换,也就是。库中的一个关键类,它的作用是将。对象之间进行相互转换。

weixin_57128596的博客 975

【人工智能】在 cc-switch 中配置 AnyRouter 接入 Claude Code 完整指南

本文介绍了在cc-switch工具中配置AnyRouter中转服务以接入Claude Code的详细步骤。主要内容包括:1) 准备API令牌和端点地址;2) 填写基础信息和模型参数;3) 保存配置并重启终端生效;4) 常见问题排查方法。重点强调了API地址格式、模型ID准确性以及配置写入的必要性,帮助用户顺利完成中转服务配置,实现Claude 4.5版本的正常使用。

奶爸的编程之路,也就一周冷个三天 3103

JVM参数及默认值

1 标准参数 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 通过命令java即可查看 用法: java [-options] class [args...] (执行类) 或 java [-options] -jar jarfile [args...] (执行 jar 文件) 其中选项包括: -d32 使用 32 位数据模型 (如果可用) -d64 使用 64 位数据模型 (如...

zhangjunli的博客 1653

【原理图PCB专题】Cadence 17.4版本原理图及PCB 模块复用

在我们设计复杂板卡的时候,往往会遇到一部分电路被反复使用的情况。Cadence允许设计者一开始就将复用模块设计好,以后只要直接调用复用模块就可以直接用以设计更复杂的电路板了。这对于大规模集成设计无疑是非常好的选择,它不仅让设计者不必花费时间在相同模块反复设计上,更有利于电路的模块化设计。

一点硬件 2017

JVM 调优常见参数

本文对JVM涉及的常见的调优参数和垃圾回收参数进行阐述。

埃泽漫笔 915

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

JVM虚拟机----JVM 常见参数

JVM 常见参数 4.2.7 简单总结

Miracle_Gaaral的博客 212

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

常见JVM参数汇总

常见配置举例: 设置:-Xmx3550m -Xms3550m -Xmn2g -Xss128k 设置:-Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0 吞吐量优先的并行收集器,并行收集器主要以到达一定的吞吐量为目标,适用于科学技术...

wangsweetkid的专栏 1334

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

掌握JVM参数优化配置与常见JVM异常分析

JVM参数类型与设置 安装JDK,配置系统环境参数后,输入java -help,红框标记的就是我们设置 JVM参数的区域。 [-options]意思是不强制要求设置,java命令支持各种参数设置,这些参数可以分为以下类别 标准参数:JVM的所有实现所支持的最常用的参数 (在jdk各版本之间稳定,不会有较大变化)。 非标准参数(-X):是特定于Java HotSpot虚拟机的通用选项(了解就行)。 高级运行时参数(-XX):控制Java HotSpot VM的运行时行为(重点)。 这里我们重点讲高级运行

bao_taotao的博客 1481

关于JVM调优的工具及JVM 常见调优参数

六个命令行排查工具 我们一般使用 JDK 自带的 6 个命令行工具来排查JVM。它们分别是:jps、jstat、jinfo、jmap、jhat 和 jstack,它们都位于 JDK 的 bin 目录下,可以使用命令行工具直接运行。 jps(虚拟机进程状况工具) jps(JVM Process Status tool,虚拟机进程状况工具),用于列出正在运行的 JVM 的 LVMID(Local Virtual Machine IDentifier,本地虚拟机唯一 ID),以及 JVM 的执行主类、JVM 启动

Gebo的博客 1229

JAVA常见的 JVM 参数及其典型默认值

JVM 参数及其典型默认值

xiaowangbadan0_0的博客 987

常见JVM参数笔记

本文记录了工作和学习中常用到的一些jvm参数,后期会更新增加G1和ZGC的使用参数。

Henry_ss的博客 437

JVM-常见JVM参数、如何查看JVM参数、如何动态设置JVM参数

1 JVM参数 1.1 标准参数 // 查看java版本 -version // help命令就不用了说了吧 -help // -server // 指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符, // window上分号“;”.Linux下使用“:” -cp 1.2 -x参数 非标准参数,也就是在JDK各个版本中可能会变动 -Xi...

抠脚的汉子 2607

idea中设置JVM参数,简单理解JVM常见参数,JVM调优简单入门

学习了几个常用JVM参数,总结如下OutOfMemoryError简称OOM,学习了几个基本的内存溢出后,对以后才能有更好的帮助。工作中遇到了内存溢出时,能根据异常信息来判断是那个区域的内存溢出,也知道什么样的代码可能会造成这些区域会出现内存溢出,并且知道一些处理手段。Java程序员日常学习笔记,如理解有误欢迎各位交流讨论!

m0_67402125的博客 4383

Jvm 常见配置参数

java虚拟机配置参数

u010046451的博客 545

JVM 常见的启动参数

JVM 常见的启动参数 -Xms: 设置堆的最小值。 -Xmx: 设置堆的最大值。 -Xmn: 设置新生代的大小。 -Xss: 设置每个线程的栈大小。 -XX:NewSize: 设置新生代的初始值。 -XX:MaxNewSize : 设置新生代的最大值。 -XX:PermSize: 设置永久代的初始值。 -XX:MaxPermSize: 设置永久代的最大值。 -XX:Surviv...

jcsyl_mshot的博客 564

JAVA中常见的JVM配置以及参数释义

垃圾回收相关的JVM参数:-Xms / -Xmx — 堆的初始大小 / 堆的最大大小-Xmn — 堆中年轻代的大小-XX:-DisableExplicitGC — 让System.gc()不产生任何作用-XX:+PrintGCDetails — 打印GC的细节-XX:+PrintGCDateStamps — 打印GC操作的时间戳-XX:NewSize / XX:MaxNewSize — 设置新生代...

weixin_30411239的博客 87

JVM内存参数设置及常见错误总结

一、JVM规范 JVM规范对Java运行时的内存划定了几块区域(详见这里),有:JVM栈(Java Virtual Machine Stacks)、堆(Heap)、方法区(Method Area)、常量池(Runtime Constant Pool)、本地方法栈(Native Method Stacks),但对各块区域的内存布局和地址空间却没有明确规定,而留给各JVM厂商发挥的空间。 ...

hellozhxy的博客 1397
上一篇: SOA 微服务 RPC WebService Soap关系详解
下一篇: newFixedThreadPool(1)和newSingleThreadExecutor()的区别
暗夜荆棘鸟
博客等级 码龄12年 9粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值