精华内容
下载资源
问答
  • 常用的jvm参数
    千次阅读
    2021-02-25 18:13:44

    参考: https://www.cnblogs.com/jpfss/p/9753215.html

    推荐阅读:

    总结: 百万连接,百亿吞吐量服务的JVM性能调优实战   >>https://my.oschina.net/LucasZhu/blog/2056232

    最后,对于长连接,push一类的海量服务端应用,16G内存8核心,推荐的JVM参数如下 jdk 1.7 14g->13g

    -Xms13g -Xmx13g -Xss512k -XX:PermSize=384m -XX:MaxPermSize=384m -XX:NewSize=12g -XX:MaxNewSize=12g -XX:SurvivorRatio=18 -XX:MaxDirectMemorySize=2g -XX:+UseParNewGC -XX:ParallelGCThreads=4

    -XX:MaxTenuringThreshold=15 -XX:+CMSParallelRemarkEnabled -XX:+CMSScavengeBeforeRemark -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly

    -XX:CMSInitiatingOccupancyFraction=70 -XX:+ScavengeBeforeFullGC -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=9 -XX:+CMSClassUnloadingEnabled

    -XX:CMSInitiatingPermOccupancyFraction=70 -XX:+ExplicitGCInvokesConcurrent -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationConcurrentTime

    -XX:+PrintHeapAtGC -Xloggc:/data/applogs/heap_trace.txt -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/applogs/HeapDumpOnOutOfMemoryError

    JDK1.8

    -Xms13g -Xmx13g -Xss512k -XX:MetaspaceSize=384m -XX:MaxMetaspaceSize=384m -XX:NewSize=11g -XX:MaxNewSize=11g -XX:SurvivorRatio=18 -XX:MaxDirectMemorySize=2g -XX:+UseParNewGC

    -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly -XX:+ScavengeBeforeFullGC

    -XX:+CMSScavengeBeforeRemark -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSClassUnloadingEnabled -XX:SoftRefLRUPolicyMSPerMB=0

    -XX:-ReduceInitialCardMarks -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationConcurrentTime

    -XX:+PrintHeapAtGC -Xloggc:/data/applogs/heap_trace.txt -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/applogs/HeapDumpOnOutOfMemoryError

    这样可以保证大多数对象在new区域就销毁,并且到了old区,remark之前先yong gc,然后再来一次cms old gc,将old gc控制在毫秒级别

    执行启动设置Jvm参数的操作。

    java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC myApp-1.0.0.jar

    关于这些设置的JVM参数是什么意思,请参考第二步中的oracle官方给出的调优文档。

    我在这边简单说一下:

    -XX:MetaspaceSize=128m (元空间默认大小)

    -XX:MaxMetaspaceSize=128m (元空间最大大小)

    -Xms1024m (堆最大大小)

    -Xmx1024m (堆默认大小)

    -Xmn256m (新生代大小)

    -Xss256k (棧最大深度大小)

    -XX:SurvivorRatio=8 (新生代分区比例 8:2)

    -XX:+UseConcMarkSweepGC (指定使用的垃圾收集器,这里使用CMS收集器)

    -XX:+PrintGCDetails (打印详细的GC日志)

    知识点:

    JDK8之后把-XX:PermSize 和 -XX:MaxPermGen移除了,取而代之的是

    -XX:MetaspaceSize=128m (元空间默认大小)

    -XX:MaxMetaspaceSize=128m (元空间最大大小)

    JDK 8开始把类的元数据放到本地化的堆内存(native heap)中,这一块区域就叫Metaspace,中文名叫元空间。

    使用本地化的内存有什么好处呢?最直接的表现就是java.lang.OutOfMemoryError: PermGen

    空间问题将不复存在,因为默认的类的元数据分配只受本地内存大小的限制,也就是说本地内存剩余多少,理论上Metaspace就可以有多大(貌似容量还与操作系统的虚拟内存有关?这里不太清楚),这解决了空间不足的问题。不过,让Metaspace变得无限大显然是不现实的,因此我们也要限制Metaspace的大小:使用-XX:MaxMetaspaceSize参数来指定Metaspace区域的大小。JVM默认在运行时根据需要动态地设置MaxMetaspaceSize的大小。

    GC模式

    G1中提供了三种模式垃圾回收模式,young gc、mixed gc 和 full gc,在不同的条件下被触发。

    young gc

    发生在年轻代的GC算法,一般对象(除了巨型对象)都是在eden region中分配内存,当所有eden region被耗尽无法申请内存时,就会触发一次young gc,这种触发机制和之前的young gc差不多,执行完一次young gc,活跃对象会被拷贝到survivor region或者晋升到old region中,空闲的region会被放入空闲列表中,等待下次被使用。

    参数 含义-XX:MaxGCPauseMillis 设置G1收集过程目标时间,默认值200ms-XX:G1NewSizePercent 新生代最小值,默认值5%

    -XX:G1MaxNewSizePercent 新生代最大值,默认值60%mixed gc

    当越来越多的对象晋升到老年代old region时,为了避免堆内存被耗尽,虚拟机会触发一个混合的垃圾收集器,即mixed gc,该算法并不是一个old gc,除了回收整个young region,还会回收一部分的old region,这里需要注意:是一部分老年代,而不是全部老年代,可以选择哪些old region进行收集,从而可以对垃圾回收的耗时时间进行控制。

    那么mixed gc什么时候被触发?

    先回顾一下cms的触发机制,如果添加了以下参数:-XX:CMSInitiatingOccupancyFraction=80

    -XX:+UseCMSInitiatingOccupancyOnly

    当老年代的使用率达到80%时,就会触发一次cms gc。相对的,mixed gc中也有一个阈值参数 -XX:InitiatingHeapOccupancyPercent,当老年代大小占整个堆大小百分比达到该阈值时,会触发一次mixed gc.

    mixed gc的执行过程有点类似cms,主要分为以下几个步骤:

    initial mark: 初始标记过程,整个过程STW,标记了从GC Root可达的对象

    concurrent marking: 并发标记过程,整个过程gc collector线程与应用线程可以并行执行,标记出GC Root可达对象衍生出去的存活对象,并收集各个Region的存活对象信息

    remark: 最终标记过程,整个过程STW,标记出那些在并发标记过程中遗漏的,或者内部引用发生变化的对象

    clean up: 垃圾清除过程,如果发现一个Region中没有存活对象,则把该Region加入到空闲列表中

    full gc

    如果对象内存分配速度过快,mixed gc来不及回收,导致老年代被填满,就会触发一次full gc,G1的full gc算法就是单线程执行的serial old gc,会导致异常长时间的暂停时间,需要进行不断的调优,尽可能的避免full gc.

    链接:https://www.jianshu.com/p/0f1f5adffdc1

    更多相关内容
  • 常用JVM参数

    2020-09-28 14:32:09
    1、JVM三种参数类型 标准参数。如 -version、-help X参数。如 -Xms、-Xmx XX参数。如-XX:+PrintGC   2、XX参数数值类型 布尔类型。如-XX:+PrintGCDetails,其中 + 和 - 分别表示开启/关闭某个属性,...

     

    1、JVM三种参数类型

    • 标准参数。如 -version、-help
    • X参数。如 -Xms、-Xmx
    • XX参数。如-XX:+PrintGC

     

    2、XX参数数值类型

    • 布尔类型。如-XX:+PrintGCDetails,其中 + 和 - 分别表示开启/关闭某个属性,PrintGCDetails表示打印GC详情
    • KV设值类型。如-XX:NewSize=256M,设置年轻代空间大小为256M

     

    3、常用参数

     X参数:

     

     XX参数: 

    • -XX:NewSize:设置年轻代最小空间大小
    • -XX:MaxNewSize:设置年轻代最大空间大小
    • -XX:PermSize:设置永久代最小空间大小
    • -XX:MaxPermSize:设置永久代最大空间大小
    • -XX:NewRatio:设置年轻代和老年代的比值。默认值-XX:NewRatio=2,表示年轻代与老年代比值为1:2,年轻代占整个堆大小的1/3
    • -XX:SurvivorRatio:设置年轻代中Eden区Survivor区的容量比值。默认值-XX:SurvivorRatio=8,表示Eden : Survivor0 : Survivor1 = 8 : 1 : 1

     

    4、GC日志

    在设置JVM参数的时候,可以设置GC打印日志参数:-XX:+PrintGCDetails。下面GC输出日志信息:

    日志含义如下:

    GC:表示进行了一次Minor GC,即从年轻代空间(包括 Eden 和 Survivor 区域)回收内存

    Allocation Failure:在年轻代中没有足够的空间能够存储新的数据

    Full GC (Ergonomics):表示进行了一次Full GC,即清理整个堆空间(包含年轻代和老年代)

    PSYoungGen: 1024K->1024K(1536K):垃圾回收器是Paralle Scavenge,年轻代区GC前->GC后该区域已使用量,后面的1536表示该区域总量

    ParOldGen: 4032K->4032K(4096K):老年代区,GC前->GC后该区域已使用量,后面的4096表示该区域总量

    5056K->5056K(5632K):GC前 -> GC后Java堆的使用量,后面的5632表示Java堆总量

    Metaspace: 3117K->3117K(1056768K):JDK8中取消了永久代,新增了一个叫元空间(Metaspace)的区域,对应的还是JVM规范中的方法区(主要存放一些class和元数据的信息),该数据表示该区GC前后使用量

    0.0214352 secs:暂停STW 时间,即GC的时间

    Times: user=0.02 sys=0.01, real=0.02 secs:更为详细的时间占比统计

     

     

    参考地址:

    http://www.yayihouse.com/yayishuwu/chapter/1615

     

    展开全文
  • 常用jvm参数查看方式

    2021-05-15 18:18:04
    当我们在生产调优的时候,有时候不确定当前的jvm哪些参数已过期。通过以下两种方式,可以确认当前jdk是否支持,以及对应的参数含义。方法一:通过命令行获取当前jdk的参数 # 打印jvm所有参数的最终值...

    当我们在生产调优的时候,有时候不确定当前的jvm哪些参数已过期。通过以下两种方式,可以确认当前jdk是否支持,以及对应的参数含义。

    方法一:通过命令行获取当前jdk的参数

     # 打印jvm所有参数的最终值(可能jdk被人调整,有些值变化了)
     java -XX:+PrintFlagsFinal -version  # 注意这个必须加-version
     # 打印jvm所有的默认参数
    java -XX:+PrintFlagsInitial
    # 打印被覆盖的项
    java -XX:+PrintCommandLineFlags -version
    #直接针对应用查看自己改了哪些值
    java -server -Xms1g -Xmx1g -XX:+PrintFlagsFinal AA |grep ":"
    

    解析:

    第一列:表示参数值类型 可以根据第三列推断

    第二列: 表示参数名

    第三列:表示参数对应的值 =50 表示默认值 :=50 表示被用户或jvm赋值

    第四列:应该是参数的发行状态

    第五列:表示是默认还是修改过的 default 或 ergonomic

    方法二:通过官网查找

    https://docs.oracle.com/en/java/javase/index.html

    jdk7及以下:

    https://www.oracle.com/java/technologies/javase/vmoptions-jsp.html

    jdk8

    jdk9 及以后

    选择java点进去就是当前版本的jvm参数分类以及描述。

    如jdk8

    https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html

    可以看对应的参数以及含义。
    如果觉得对你有帮助,请关注公众号:5ycode,后续会不断更新哦

    公众号图片

    展开全文
  • JVM常用参数

    2022-06-07 17:54:12
    JVM常用参数

            jvm是java的运行环境,在jvm中有很多的参数可以进行设置,合理的设置参数可以让jvm在各种环境中都能够高效的运行,对于我们开发者而言,jvm的绝大部分参数保持默认即可,不需要我们手动的更改,但是了解jvm支持的参数及功能也对我们往后的开发至关重要。

    一、前言

    jvm的参数类型主要有一下三种:

    • 标准参数:jvm的标准参数,一般都是很稳定的,在未来的JVM版本中不会改变,可以使用java -help检索出所有的标准参数;
    • 非标准参数(-X):默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;
    • 非Stable参数(-XX):此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用。

    按照参数类型可以分成以下三种:

    • 布尔型参数选项:-XX:+ 打开, -XX:- 关闭;
    • 数字型参数选项通过-XX:=设定;
    • 字符行参数选项通过-XX:=设定,通常用来指定一个文件,路径,或者一个命令列表。

    二、标准参数

    如果需要获取标准参数详细说明,可以按照如下方法:

    列出标准参数:java -help

    详细参数及作用如下:

    -d32使用 32 位数据模型 (如果可用)
    -d64使用 64 位数据模型 (如果可用)
    -server选择 "server" VM,默认 VM 是 server.
    -cp<目录和 zip/jar 文件的类搜索路径> -classpath<目录和 zip/jar 文件的类搜索路径>用 ; 分隔的目录, JAR 档案和 ZIP 档案列表, 用于搜索类文件。
         
    -D<名称>=<值>设置系统属性
    -verbose:[class|gc|jni]启用详细输出
    -version输出产品版本并退出
    -version:<值>警告: 此功能已过时, 将在未来发行版中删除。需要指定的版本才能运行
    -showversion输出产品版本并继续
    -jre-restrict-search | -no-jre-restrict-search警告: 此功能已过时, 将在未来发行版中删除。在版本搜索中包括/排除用户专用 JRE
    -? -help 输出此帮助消息
    -X输出非标准选项的帮助
    -ea[:<packagename>...|:<classname>]
        -enableassertions[:<packagename>...|:<classname>]
    按指定的粒度启用断言
    -da[:<packagename>...|:<classname>]
        -disableassertions[:<packagename>...|:<classname>]
    禁用具有指定粒度的断言
    -esa | -enablesystemassertions启用系统断言
    -dsa | -disablesystemassertions禁用系统断言
    -agentlib:<libname>[=<选项>]加载本机代理库 <libname>, 例如 -agentlib:hprof另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
    -agentpath:<pathname>[=<选项>]按完整路径名加载本机代理库
    -javaagent:<jarpath>[=<选项>]加载 Java 编程语言代理, 请参阅 java.lang.instrument
    -splash:<imagepath>使用指定的图像显示启动屏幕有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。

    三、非标准参数 

    列出非标准参数:java -X

    详细参数及作用如下:

    -Xmixed混合模式执行(默认)
    -Xint仅解释模式执行
    -Xbootclasspath:<用 ; 分隔的目录和 zip/jar 文件>设置引导类和资源的搜索路径
    -Xbootclasspath/a:<用 ; 分隔的目录和 zip/jar 文件>附加在引导类路径末尾
    -Xbootclasspath/p:<用 ; 分隔的目录和 zip/jar 文件>置于引导类路径之前
    -Xdiag显示附加诊断消息
    -Xnoclassgc禁用类垃圾收集
    -Xincgc启用增量垃圾收集
    -Xloggc:<file>将 GC 状态记录在文件中(带时间戳)
    -Xbatch禁用后台编译
    -Xms<size>设置初始 Java 堆大小
    -Xmx<size>设置最大 Java 堆大小
    -Xss<size>设置 Java 线程堆栈大小
    -Xprof输出 cpu 分析数据
    -Xfuture启用最严格的检查,预计会成为将来的默认值
    -Xrs减少 Java/VM 对操作系统信号的使用(请参阅文档)
    -Xcheck:jni对 JNI 函数执行其他检查
    -Xshare:off不尝试使用共享类数据
    -Xshare:auto在可能的情况下使用共享类数据(默认)
    -Xshare:on要求使用共享类数据,否则将失败。
    -XshowSettings显示所有设置并继续
    -XshowSettings:system仅限 Linux)显示系统或容器配置并继续
    -XshowSettings:all显示所有设置并继续
    -XshowSettings:vm显示所有与 vm 相关的设置并继续
    -XshowSettings:properties显示所有属性设置并继续
    -XshowSettings:locale显示所有与区域设置相关的设置并继续

    注意:-X 选项是非标准选项。如有更改,恕不另行通知。 

     四、非Stable参数

    参数名称含义默认值备注
    -Xms初始堆大小物理内存的1/64(<1GB)默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.
    -Xmx最大堆大小物理内存的1/4(<1GB)默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
    -Xmn年轻代大小(1.4or lator)注意:此处的大小是(eden+ 2 survivor space).与jmap -heap中显示的New gen是不同的。 整个堆大小=年轻代大小 + 年老代大小 + 持久代大小. 增大年轻代后,将会减小年老代大小.此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8
    -XX:NewSize设置年轻代大小(for 1.3/1.4)
    -XX:MaxNewSize年轻代最大值(for 1.3/1.4)
    -XX:PermSize设置持久代(perm gen)初始值物理内存的1/64
    -XX:MaxPermSize设置持久代最大值物理内存的1/4
    -Xss每个线程的堆栈大小JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K.更具应用的线程所需内存大小进行 调整.在相同物理内存下,减小这个值能生成更多的线程.但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右 一般小的应用, 如果栈不是很深, 应该是128k够用的 大的应用建议使用256k。这个选项对性能影响比较大,需要严格的测试。(校长) 和threadstacksize选项解释很类似,官方文档似乎没有解释,在论坛中有这样一句话:"” -Xss is translated in a VM flag named ThreadStackSize” 一般设置这个值就可以了。
    -XX:ThreadStackSizeThread Stack Size线程栈的大小,JDK5.0以后每个线程堆栈大小默认为1M,以前每个线程堆栈大小为256K;可以通过jvm参数-Xss来设置;注意-Xss是jvm的非标准参数,不强制所有平台的jvm都支持
    -XX:NewRatio年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)-XX:NewRatio=4表示年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5 Xms=Xmx并且设置了Xmn的情况下,该参数不需要进行设置。
    -XX:SurvivorRatioEden区与Survivor区的大小比值设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个Survivor区占整个年轻代的1/10
    -XX:LargePageSizeInBytes内存页的大小不可设置过大, 会影响Perm的大小=128m
    -XX:+UseFastAccessorMethods原始类型的快速优化
    -XX:+DisableExplicitGC关闭System.gc()这个参数需要严格的测试
    -XX:MaxTenuringThreshold垃圾最大年龄如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代. 对于年老代比较多的应用,可以提高效率.如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活 时间,增加在年轻代即被回收的概率 该参数只有在串行GC时才有效.
    -XX:+AggressiveOpts加快编译
    -XX:+UseBiasedLocking锁机制的性能改善
    -Xnoclassgc禁用垃圾回收
    -XX:SoftRefLRUPolicyMSPerMB每兆堆空闲空间中SoftReference的存活时间1s每兆堆空闲空间中SoftReference的存活时间
    -XX:PretenureSizeThreshold对象超过多大是直接在旧生代分配0单位字节 新生代采用Parallel Scavenge GC时无效 另一种直接在旧生代分配的情况是大的数组对象,且数组中无外部引用对象.
    -XX:TLABWasteTargetPercentTLAB占eden区的百分比1%
    -XX:+CollectGen0FirstFullGC时是否先YGCFALSE

     五、并行收集器相关参数

    参数名称含义默认值备注
    -XX:+UseParallelGCFull GC采用parallel MSC (此项待验证)选择垃圾收集器为并行收集器.此配置仅对年轻代有效.即上述配置下,年轻代使用并发收集,而年老代仍旧使用串行收集.(此项待验证)
    -XX:+UseParNewGC设置年轻代为并行收集可与CMS收集同时使用 JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值
    -XX:ParallelGCThreads并行收集器的线程数此值最好配置与处理器数目相等 同样适用于CMS
    -XX:+UseParallelOldGC年老代垃圾收集方式为并行收集(Parallel Compacting)这个是JAVA 6出现的参数选项
    -XX:MaxGCPauseMillis每次年轻代垃圾回收的最长时间(最大暂停时间)如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值.
    -XX:+UseAdaptiveSizePolicy自动选择年轻代区大小和相应的Survivor区比例设置此选项后,并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低相应时间或者收集频率等,此值建议使用并行收集器时,一直打开.
    -XX:GCTimeRatio设置垃圾回收时间占程序运行时间的百分比公式为1/(1+n)
    -XX:+ScavengeBeforeFullGCFull GC前调用YGCTRUEFull GC前调用 年轻代GC

     六、辅助参数

    参数名称含义默认值备注
    -XX:+PrintGC输出形式:[GC 118250K->113543K(130112K), 0.0094143 secs] [Full GC 121376K->10414K(130112K), 0.0650971 secs]
    -XX:+PrintGCDetails输出形式:[GC [DefNew: 8614K->781K(9088K), 0.0123035 secs] 118250K->113543K(130112K), 0.0124633 secs] [GC [DefNew: 8614K->8614K(9088K), 0.0000665 secs][Tenured: 112761K->10414K(121024K), 0.0433488 secs] 121376K->10414K(130112K), 0.0436268 secs]
    -XX:+PrintGCTimeStamps
    -XX:+PrintGC:PrintGCTimeStamps可与-XX:+PrintGC -XX:+PrintGCDetails混合使用 输出形式:11.851: [GC 98328K->93620K(130112K), 0.0082960 secs]
    -XX:+PrintGCApplicationStoppedTime打印垃圾回收期间程序暂停的时间.可与上面混合使用输出形式:Total time for which application threads were stopped: 0.0468229 seconds
    -XX:+PrintGCApplicationConcurrentTime打印每次垃圾回收前,程序未中断的执行时间.可与上面混合使用输出形式:Application time: 0.5291524 seconds
    -XX:+PrintHeapAtGC打印GC前后的详细堆栈信息
    -Xloggc:filename把相关日志信息记录到文件以便分析. 与上面几个配合使用
    -XX:+PrintClassHistogramgarbage collects before printing the histogram.
    -XX:+PrintTLAB查看TLAB空间的使用情况
    XX:+PrintTenuringDistribution查看每次minor GC后新的存活周期的阈值Desired survivor size 1048576 bytes, new threshold 7 (max 15) new threshold 7即标识新的存活周期的阈值为7。

     

    展开全文
  • JVM常用参数

    2020-07-03 09:47:24
    Xmn、Xms、Xmx、Xss都是JVM对内存的配置参数,我们可以根据不同需要区修改这些参数,以达到运行程序的最好效果。 -Xms 堆内存的最小大小,默认为物理内存的1/64 -Xmx 堆内存的最大大小,默认为物理内存的1/4 -Xmn...
  • 参数 含义 说明 -XX:CIComcompile 最大并行编译数 如果设置大于1,虽然编译速度会提高,但是同样影响系统稳定性,会增加JVM崩溃的可能 -XX:InitialHeapSize=100M 初始化堆大小 简写-Xms100M -XX:MaxHeapSize...
  • 常用JVM命令参数详解

    千次阅读 2019-05-20 14:01:42
    这里汇总平时用到的、看到的一些虚拟机参数。现在看不懂没关系,反正之后都会用到的: (1)-Xms20M 表示设置JVM启动内存的最小值为20M,必须以M为单位 (2)-Xmx20M 表示设置JVM启动内存的最大值为20M,必须以M为...
  • 都是对JVM规范中方法区的实现. 不过元空间与永久代之间最大的区别在于: 元空间并不存在虚拟机中, 而是使用本地内存. 因此默认的情况下, 元空间的大小仅仅受本地内存的限制. 还是使用以下的代码作为实例. public ...
  • 17 个常用JVM 参数

    2020-01-04 23:06:45
    大家都知道,jvm在启动的时候,会执行默认的一些参数。一般情况下,这些设置的默认参数应对一些平常的项目也够用了。但是如果项目特别大了,需要增加一下堆内存的大小、或者是系统老是莫明的挂掉,想查看下gc日志来...
  • 在前几篇的 JVM系列 中,我们已经具备了 JVM 相关的基础知识,现在我们需要将学到的知识,在实际场景中运用起来,通过配置相关的
  • 常用jvm参数都在这张图中,参考起来方便,是国外大神整理的
  • JVM常用参数含义。

    2020-06-12 10:23:59
    JVM常用参数含义。
  • 前面学习了JVM的内存分布,今天就来验证下。顺便通过测试学习一下JVM的几个参数,不过测试是在idea中,所以先要在idea上设置JVM参数
  • 文章目录摘要jvm垃圾回收器 ...言归正传,有了充实的理论基础,便要开始运用于实践当中,本篇博客主要讲解jvm垃圾回收器的分类和选择,常用jvm参数,性能监控工具以及调优实战,带你一步步揭开jvm的神秘面纱...
  • 常用JVM配置参数.ppt

    2017-05-25 12:43:31
    常用JVM配置参数.ppt
  • 常见 JVM 调优参数

    2021-12-29 20:57:31
    1、-Xms 512m:初始化堆内存大小为 512m。 2、-Xmx 512m:堆最大内存为 512m。 3、-XX:NewRatio=4:设置老年代与年轻内存比例为 4:1。 4、-XX:SurvivorRatio=8:设置新生代 Eden 和 Survivor 比例为 8:1。...
  • 常用JVM配置参数.

    2017-06-16 17:32:03
    常用JVM配置参数.
  • 常用JVM参数配置

    2016-07-10 09:58:53
    在java启动脚本的参数配置中经常会看到一些形如:-XX:|->name的jvm参数,表示开启或关闭某项特性或属性,+代表开启,-代表关闭,下面介绍一些常用的内存分配配置参数
  • java 启动jar包JVM参数

    2022-04-03 18:42:46
    起到节约内存占用的新参数 -XX:+UseCompressedOops #当堆内存空间溢出时输出堆的内存快照 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/workspace/jvm_dump/open-api-global-quartz-heapDump.hprof -jar...
  • JVM常用调优参数 ——JVM

    千次阅读 2022-03-18 22:18:15
    JVM常用性能调优参数详解 ​ 在学习完整个JVM内容后,其实目标不仅是学习了解整个JVM的基础知识,而是为了进行JVM性能调优做准备,所以以下的内容就是来说说JVM性能调优的知识。 一、性能调优 ​ 性能调优包含多个...
  • 深入JVM内核—原理、诊断与优化视频教程 深入JVM内核—原理、诊断与优化视频教程
  • JVM调优常用参数

    2021-07-09 23:37:12
    JVM 调优常用参数总结 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xmx1G -Xms1G -Xmn500M Heap ====================================== jps JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机...
  • JVM常用启动参数

    千次阅读 2021-05-29 10:05:13
    目录JVM常用启动参数系统属性参数运行模式参数堆内存设置参数显式指定堆内存`–Xms`和`-Xmx`显式新生代内存显示指定永久代/元空间的大小其他常用参数GC设置参数垃圾回收器GC记录分析诊断参数JavaAgent参数 ...
  • JVM常用参数设置

    2019-08-03 01:03:05
    JVM参数设置.zip,JVM参数设置.docx
  • (中英文)JVM 参数详解,用心整理成Excel文档。包含所有近100条JVM参数的详细说明及设置方法,中英文对照,极方便阅读。转载请标明我这的源地址:http://download.csdn.net/download/xiucaiyao/10257573

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 155,122
精华内容 62,048
关键字:

常用的jvm参数