首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

运行JVM的GC参数是什么?

在Java虚拟机(JVM)中,垃圾回收(GC)参数是用于控制内存管理和优化性能的关键参数。以下是一些常见的JVM GC参数:

  1. -XX:+UseSerialGC:启用Serial垃圾回收器。这是一个单线程的垃圾回收器,适用于小型应用程序和客户端桌面应用程序。
  2. -XX:+UseParallelGC:启用Parallel垃圾回收器。这是一个多线程的垃圾回收器,适用于具有多个处理器的中等规模应用程序。
  3. -XX:+UseConcMarkSweepGC:启用Concurrent Mark Sweep(CMS)垃圾回收器。这是一个适用于响应时间敏感的大型应用程序的垃圾回收器,它可以在应用程序运行过程中并发地进行垃圾回收。
  4. -XX:+UseG1GC:启用G1(Garbage First)垃圾回收器。这是一个面向服务器端应用程序的垃圾回收器,可以处理大量内存。
  5. -XX:+UseShenandoahGC:启用Shenandoah垃圾回收器。这是一个低暂停时间的垃圾回收器,适用于需要高吞吐量和低延迟的应用程序。
  6. -XX:+UseZGC:启用Z垃圾回收器。这是一个实验性的垃圾回收器,旨在提供低暂停时间和并发性能。
  7. -Xms:指定JVM堆的初始大小。例如,-Xms256m表示初始堆大小为256MB。
  8. -Xmx:指定JVM堆的最大大小。例如,-Xmx1024m表示最大堆大小为1GB。
  9. -Xmn:指定JVM的年轻代大小。例如,-Xmn256m表示年轻代大小为256MB。
  10. -XX:MaxGCPauseMillis:指定垃圾回收暂停时间的最大值。例如,-XX:MaxGCPauseMillis=100表示垃圾回收暂停时间不超过100毫秒。
  11. -XX:ParallelGCThreads:指定Parallel垃圾回收器使用的线程数。例如,-XX:ParallelGCThreads=4表示使用4个线程进行垃圾回收。
  12. -XX:ConcGCThreads:指定CMS垃圾回收器使用的线程数。例如,-XX:ConcGCThreads=4表示使用4个线程进行垃圾回收。
  13. -XX:G1HeapRegionSize:指定G1垃圾回收器的堆区域大小。例如,-XX:G1HeapRegionSize=4m表示堆区域大小为4MB。
  14. -XX:G1ReservePercent:指定G1垃圾回收器为Eden和Survivor空间预留的内存百分比。例如,-XX:G1ReservePercent=10表示预留10%的内存。
  15. -XX:G1MixedGCLiveThresholdPercent:指定G1垃圾回收器进行混合垃圾回收的阈值。例如,-XX:G1MixedGCLiveThresholdPercent=60表示当Eden和Survivor空间中的存活对象超过60%时进行混合垃圾回收。
  16. -XX:+UseLargePages:启用大页内存。这可以提高性能,但可能需要特殊的操作系统和硬件配置。
  17. -XX:+UseNUMA:启用Non-Uniform Memory Access(NUMA)优化。这可以提高多节点系统的性能。
  18. -XX:+UseStringDeduplication:启用字符串去重优化。这可以减少内存使用,但可能会增加CPU使用。
  19. -XX:+UseCompressedOops:启用压缩的对象指针(OOPs)。这可以减少内存使用,但可能会增加CPU使用。
  20. -XX:+UseCodeCacheFlushing:启用代码缓存刷新。这可以减少内存使用,但可能会增加CPU使用。

这些参数可以根据应用程序的需求进行调整,以优化性能和资源使用。在实际应用中,可能需要根据具体情况进行调整和测试以获得最佳结果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

GCJVM参数

=程序运行时间/(JVM执行回收时间+程序运行时间),假设程序运行了100分钟,JVM垃圾回收占用1分钟,那么吞吐量就是99%。...可以通过参数来打开自适应调节策略,虚拟机会根据当前系统运行情况收集性能监控信息,动态调整这些参数以提供最合适停顿时间或最大吞吐量;也可以通过参数控制GC时间不大于多少毫秒或者比例 新生代复制算法...然而,在实际情况中X参数和XX参数并没有什么不同。X参数功能是十分稳定,然而很多XX参数仍在实验当中(主要是JVM开发者用于debugging和调优JVM自身实现)。...这是真的,并且我认为这个建议同样适用于X参数(同样一些标准参数也是)。不管类别是什么,在使用参数之前应该先了解它可能产生影响。 用一句话来说明XX参数语法。...,gc情况 优化 选择合适GC collector 整个JVM heap大小 young generation在整个JVM heap中所占比重 参数实例 public static void main

98030

GC系列】JVM常用GC参数GC日志解析

jdk11默认GC是G1 JVM常用命令参数 JVM命令可从如下网站查阅: https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html...「HotSpot参数分类」 标准 -开头,所有的HotSpot都支持,比如java -version 保证Java虚拟机(JVM所有实现都支持标准选项。...也不能保证所有JVM实现都支持它们,并且它们可能会发生变化。 下面我们用一段程序,通过调JVM参数,使用JVM命令用不同GC,看一下运行情况。 开始之前,先普及一下内存泄漏和内存溢出。...如果我们想知道他内存分配过程,可以在运行时候添加相应JVM参数,下面来找几个常用参数分别实验一下。...信息参数还有: 「-XX:+PrintGCTimeStamps」:在每个GC上打印时间戳。

3K31
  • JVM运行参数

    jvm中有很多参数可以进行设置,这样可以让jvm在各种环境中都能够高效运行。绝大部分参数保持默认即可。...-server与-client参数 可以通过 -server 或 -client 设置jvm运行参数。...表示禁用手动调用gc操作,也就是说调用System.gc()无效 非boolean类型 格式:-XX:= 表示属性值为 如:-XX:NewRatio...java -Xms64m -Xmx128m TestJVM 查看jvm运行参数 当们需要查看jvm运行参数,这个需求可能会存在2种情况: 第一,运行java命令时打印出运行参数; 第二,查看正在运行...查看正在运行jvm参数 如果想要查看正在运行jvm就需要借助于 jinfo 命令查看。 启动一个 tomcat 用于测试,用以观察运行 jvm 参数。 cd bin/ .

    1.4K20

    JVM垃圾回收器GC常用参数

    GC 常用参数 # 年轻代 最小堆 最大堆 栈空间 -Xmn -Xms -Xmx -Xss # System.gc()不管用 ,避免因System.gc()调用导致FGC,生产环境建议 -XX:+DisableExplictGC.../dir/gc-%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCCause 其他参数 ## TLAB参数,一般不需要调整...,设置JVM吞吐量要达到目标值, GC时间占用程序运行时间百分比差值,默认是 99 # 也就应用程序线程应该运行至少99%总执行时间,GC占 1% -XX:GCTimeRatio=99 # 并行收集器...这是一个软性指标(soft goal) # JVM 会尽力去达成这个目标....# 吞吐量优先,设置JVM吞吐量要达到目标值, GC时间占用程序运行时间百分比差值,默认是 99 # 也就应用程序线程应该运行至少99%总执行时间,GC占 1% -XX:GCTimeRatio

    2.4K10

    性能优化-jvm运行参数

    2、jvm运行参数jvm中有很多参数可以进行设置,这样可以让jvm在各种环境中都能够高效运行。绝大部分参数保持默认即可。...2.2.2、-server与-client参数 可以通过-server或-client设置jvm运行参数。...示例: [root@node01 test]# java ‐Xms512m ‐Xmx2048m TestJVM itcast 2.6、查看jvm运行参数 有些时候我们需要查看jvm运行参数,这个需求可能会存在...2种情况: 第一,运行java命令时打印出运行参数; 第二,查看正在运行java进程参数 2.6.1、运行java命令时打印参数 运行java命令时打印参数,需要添加-XX:+PrintFlagsFinal...2.6.2、查看正在运行jvm参数 如果想要查看正在运行jvm就需要借助于jinfo命令查看。 首先,启动一个tomcat用于测试,来观察下运行jvm参数。 ? 访问成功: ?

    67141

    IDEA设置JVM运行参数

    前言 有时候我们需要在程序运行时候对程序设置环境变量,恰巧我也遇到了这个问题,所以在此记录一下IDEA是如何设置环境变量。...作用 -Dproperty=Value 该参数通常用于设置系统级全局变量值,如配置文件路径,保证该属性在程序中任何地方都可访问。...2、如果配置了-Dproperty=value参数,又在程序中使用了System.setProperty对同一个变量进行设置,那么以程序中设置为准。...针对某个Application设置 1、Run–>Edit Configurations 2、选中要添加JVM参数Application,然后在Configuration里面的...VM options中输入想要添加系统参数 针对所有的Application设置 1、找到IDEA安装目录中bin目录 2、找到idea.exe.vmoptions文件 3

    4.3K40

    JVMGC

    Table of Contents GC如何判断对象死活 堆分配策略 垃圾回收算法 jvm监控工具 jvm调优 GC如何判断对象死活 引用计数法 对象被引用一次, 引用计数器+1, 引用失效时, 引用计数器...-1, 当引用计数器为0时,就会通知GC来回收 不能处理循环引用对象, 所以主流jvm厂商不会选择这用算法 GC roots可达性分析 从gc roots对象出发, 不可达将被通知GC去回收 gc...jvm监控工具 https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr025.html jconsole...java-rmi.cgi jcmd jcontrol jdeps jinfo jmap jmc.ini jrunscript jstack jstatd jvm...堆设置java物理内存1/4 官方推荐新生代栈对3/8 Xms与Xmx 设置一样值, 能够避免jvm因为频繁GC导致大起大落

    41900

    JVM系列第14讲:JVM参数GC日志配置

    今天就让我们来学习一下 Java 虚拟机中所有与 GC 日志有关参数。相信掌握了这些参数之后,对于大家线上打印 GC 日志是有不少帮助。...为了认为制造 GC,我们启动时 JVM 参数固定加上下面几个参数: -XX:+UseSerialGC -Xms20M -Xmx20M -Xmn10M -XX:SurvivorRatio=8 -XX:+...下面就让我们来看看油管 GC 参数有哪些吧。 打印GC日志 在 GC 日志参数中,最简单一个参数就是打印 GC 日志:-XX:PrintGC。...通过这个参数,我们可以详细了解每次 GC 时堆空间详细信息。 打印GC发生时间 -XX:+PrintGCTimeStamps 这个参数非常简单,就是在每次 GC 日志前面加上一个时间戳。...这个时间戳表示 JVM 启动后到现在所逝去时间。

    79330

    JVM GC 那些事(一)- JVM 运行时内存划分

    对于经常使用 Spark 的人来说,如何设置 driver 或 executor 内存大小,如何尽量减少 GC 相信不会陌生。...要做好这两点,除了 Spark 知识掌握外,还需要对 JVM 内存及 GC 机制有一定了解。...本着能写出更好 Spark Application 代码及让 Spark Application 更好运行目的,最近我进行了相应学习,并希望以博客形式记录,这是第一篇,来说明 JVM 运行时内存是如何划分...JVM 运行时内存划分如上图所示,其中橙色区域为线程私有的,包括:虚拟机栈、本地方法栈、程序计数器;蓝色区域为线程共享,包括:堆区、方法区。...区域 每个线程都需要一个程序计数器用来记录执行哪行字节码,所以程序计数器是线程私有的 虚拟机栈 每个方法调用时,线程都要为该方法创建一个栈帧,主要用来保存该函数返回值、局部变量表(用于存放方法参数和方法内部定义局部变量

    26610

    JVM - 列出JVM默认参数运行时生效参数

    ---- Pre 有的时候,想看下自己没有设置JVM参数值, 或者有的时候想看下JVM某个参数默认值 ,亦或想看下用户或者JVM修改JVM参数 ? 咋办 ?...列出JVM参数默认值 Java诞生了25年+, N多个参数 ,鬼记得住~ 我们只需要直到常用,会找就可以了。...第一列表示参数数据类型 第二列是名称 第三列”=”表示第四列是参数默认值,如果是”:=” 表明了参数被用户或者JVM赋值了 第四列为值 第五列是参数类别 ---- -XX:+PrintFlagsFinal...列出运行程序时生效值 ?...解锁实验参数 -XX:+UnlockInternalVMOptions 解锁内部参数 这个就是隐藏副本了 ,愿君多留意~ ---- jinfo 查看正在运行Java应用程序扩展参数 当然了 还有其他参数

    4.7K20

    JVM运行时数据区域及GC

    这里存放对象被自动管理,也就是俗称GC(GarbageCollector)所管理。Java堆容量可以通过-Xmx和-Xms参数调整空间大小。...如果采用固定大小JVM Stack设计,那么每一条线程JVM Stack容量应该在线程创建时独立地选定。...JVM实现应该提供调节JVMStack初始容量手段;如果采用动态扩展和收缩JVM Stack方式,应该提供调节最大、最小容量手段。...Xss参数可设置栈大小。...服务器管理员配置虚拟机参数时,一般会根据实际内存设置-Xmx等参数信息,但经常会忽略掉直接内存,使得各个内存区域总和大于物理内存限制(包括物理上和操作系统级限制),从而导致动态扩展时出现OutOfMemoryError

    37720

    JVM运行参数之-X和-XX参数

    -X参数 JVM-X参数是非标准参数,在不同版本jvm中,参数可能会有所不同,可以通过java -X查看非标准参数。...运行模式-Xint、-Xcomp、-Xmixed 在解释模式(interpreted mode)下,-Xint标记会强制JVM执行所有的字节码,当然这会降低运行速度,通常低10倍或更多。...-Xcomp参数与它(-Xint)正好相反,JVM在第一次使用时会把所有的字节码编译成本地代码,从而带来最大程度优化。...示例:强制设置运行模式 #强制设置为解释模式 E:\jvm>java -showversion -Xint TestJVM java version "1.8.0_171" Java(TM) SE Runtime...-XX参数使用有2种方式,一种是boolean类型,一种是非boolean类型: boolean类型 格式:-XX:[±] 如:-XX:+DisableExplicitGC 表示禁用手动调用gc操作

    65610

    查看JVM运行参数jinfo命令

    jinfo 是 JDK 自带命令,可以用来查看正在运行 java 应用程序扩展参数,包括Java System属性和JVM命令行参数;也可以动态修改正在运行 JVM 一些参数。...当系统崩溃时,jinfo可以从core文件里面知道崩溃Java应用程序配置信息 查看jvm所有参数默认值 > java -XX:+PrintFlagsInitial -version 查看jvm所有的参数...> java -XX:+PrintFlagsFinal -version 查看当前JVM运行参数 用法: > jinfo -flags pid 查看系统所有的Java进程 > jcmd 24386...> jinfo -flag InitialHeapSize 18378 开启/关闭某个JVM参数 使用 jinfo 可以在不重启虚拟机情况下,可以动态修改 jvm 参数。...进程值 jinfo虽然可以在java程序运行时动态地修改虚拟机参数,但并不是所有的参数都支持动态修改jinfo -flag name=value pid 输出当前JVM进程所有的系统属性 > jinfo

    5.8K00

    IntelliJ IDEA 设置JVM运行参数

    IntelliJ IDEA设置JVM运行参数【面试+工作】 ?...在eclipse根目录下打开eclipse.ini,默认内容为(这里设置运行当前开发工具JVM内存分配): -vmargs -Xms40m -Xmx256m -vmargs表示以下为虚拟机设置参数...上面表格中黑体三个参数代表着jvmGC执行三种方式,即串行、并行、并发; 串行(SerialGC)是jvm默认GC方式,一般适用于小型应用和单处理器,算法比较简单,GC效率也较高,但可能会给应用带来停顿...; 并行(ParallelGC)是指GC运行时,对应用程序运行没有影响,GC和app两者线程在并发执行,这样可以最大限度不影响app运行; 并发(ConcMarkSweepGC)是指多个线程并发执行...GC,一般适用于多处理器系统中,可以提高GC效率,但算法复杂,系统消耗较大; 性能调优参数列表: ?

    8.1K30

    JVMGC Overhead limit exceeded 是什么意思?

    默认情况下,并不是等堆内存耗尽,才会报 OutOfMemoryError,而是如果 JVM 觉得 GC 效率不高,也会报这个错误。 那么怎么评价 GC 效率不高呢?来看下源码: 呢?...SoftRefPolicy* soft_ref_policy) { // 忽略显式gc命令,比如System.gc(),或者通过JVMTI命令gc,或者通过jcmd命令gc if (GCCause...gc回收空间还是不多 //gc时间占用98%以上为gc时间过长,可以通过 -XX:GCTimeLimit= 配置,参考gc_globals.hpp: GCTimeLimit //回收空间小于...这个状态位为开启 //默认情况下,是开启,可以通过启动参数-XX:-UseGCOverheadLimit关闭,参考:gc_globals.hpp: UseGCOverheadLimit...时间占比超过 98%,GC 回收内存不足 2% 时,会抛出这个异常。

    1.7K20
    领券