`

java jvm GC 参数设置

阅读更多

来自:http://yefeng.iteye.com/blog/644338

1: heap size 
a: -Xmx 
指定jvm的最大heap大小,如:-Xmx2g 

b: -Xms 
指定jvm的最小heap大小,如:-Xms1g 

c: -Xmn 
指定jvm中New Generation的大小,如:-Xmn256m 

d: -XX:PermSize 
指定jvm中Perm Generation的最小值,如:-XX:PermSize=32m 

e: -XX:MaxPermSize 
指定Perm Generation的最大值,如:-XX:MaxPermSize=64m 

f: -Xss 
指定线程桟大小,如:-Xss128k 

g: -XX:NewRatio 
指定jvm中Old Generation heap size与New Generation的比例,在使用CMS GC的情况下此参数失效, 如:-XX:NewRatio=2 

h: -XX:SurvivorRatio 
指定New Generation中Eden Space与一个Survivor Space的heap size比例,-XX:SurvivorRatio=8,那么在总共New Generation为10m的情况下,Eden Space为8m 

i: -XX:MinHeapFreeRatio 
指定jvm heap在使用率小于n的情况下,heap进行收缩,Xmx==Xms的情况下无效,如:-XX:MinHeapFreeRatio=30 

j: -XX:MaxHeapFreeRatio 
指定jvm heap在使用率大于n的情况下,heap进行扩张,Xmx==Xms的情况下无效,如:-XX:MaxHeapFreeRatio=70 

k: -XX:LargePageSizeInBytes 
指定Java heap的分页页面大小,如:-XX:LargePageSizeInBytes=128m 

2: garbage collector 
a: -XX:+UseParallelGC 
指定在New Generation使用parallel collector,并行收集,同时启动多个垃圾回收thread,不能和CMS gc一起使用.系统吨吐量优先,但是会有较长长时间的app pause,后台系统任务可以使用此gc 

b: -XX:ParallelGCThreads 
指定parallel collection时启动的thread个数,默认是物理processor的个数,如:-xx:ParallelGCThreads=8 

c: -XX:+UseParallelOldGC 
指定在Old Generation使用parallel collector 

d: -XX:+UseParNewGC 
指定在New Generation使用parallel collector,是UseParallelGC的gc的升级版本,有更好的性能或者优点,可以和CMS gc一起使用 

e: -XX:+CMSParallelRemarkEnabled 
在使用UseParNewGC的情况下,尽量减少mark的时间 

f: -XX:+UseConcMarkSweepGC 
指定在Old Generation使用concurrent cmark sweep gc,gc thread和app thread并行,所以称作concurrent.app pause时间较短,适合交互性强的系统,如web server 

g: -XX:+UseCMSCompactAtFullCollection 
在使用concurrent gc的情况下,防止memory fragmention,对live object进行整理,使memory碎片减少 

h: -XX:CMSInitiatingOccupancyFraction=n 
指示在old generation在使用了n%的比例后,启动concurrent collector,默认值是68,如:-XX:CMSInitiatingOccupancyFraction=70 
有个bug,在低版本的jvm上出现,http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6486089 

i: -XX:+UseCMSInitiatingOccupancyOnly 
指示只有在old generation在使用了初始化的比例后concurrent collector启动收集 

3:others 
a: -XX:MaxTenuringThreshold 
指定一个object在经历了n次young gc后转移到old generation区,在linux64的java6下默认值是15,此参数对于throughput collector无效,如:-XX:MaxTenuringThreshold=31 

b: -XX:+DisableExplicitGC 
禁止java程序中的full gc,如System.gc()的调用 

c: -XX:+UseFastAccessorMethods 
原始类型get,set方法的优化 

d: -XX:+PrintGCDetails 
打应垃圾收集的情况如: 
[GC 15610.466: [ParNew: 229689K->20221K(235968K), 0.0194460 secs] 1159829K->953935K(2070976K), 0.0196420 secs] 

e: -XX:+PrintGCTimeStamps 
打应垃圾收集的时间情况,如: 
[Times: user=0.09 sys=0.00, real=0.02 secs] 

f: -XX:+PrintGCApplicationStoppedTime 
打应垃圾收集时,系统的停顿时间,如: 
Total time for which application threads were stopped: 0.0225920 seconds 

4  -XX:+UseCompressedOops 
    压缩指针  64位机器,JDK1.6支持

分享到:
评论

相关推荐

    jvm 参数及gc详解

    Java虚拟机(JVM)是Java程序运行的基础,它的配置参数和垃圾收集(GC)机制对于优化应用程序性能至关重要。本文将深入探讨JVM参数及其与Java垃圾收集相关的知识。 一、JVM参数详解 JVM参数可以分为三类:启动参数...

    java应用JVM的GC频率观察方法

    Java 应用程序的JVM(Java虚拟机)性能优化是一个关键领域,而垃圾收集(GC)作为内存管理的一部分,其频率对系统性能有直接影响。GC的频率反映了系统的内存使用情况和健康状况。通常,GC分为两种主要类型:Scavenge...

    jvm和gc详解及调优

    5. **GC调优**:包括如何分析GC日志,理解GC停顿(Stop-the-World)事件,以及如何通过调整JVM参数来改善系统性能,如设置堆大小、新生代与老年代的比例、存活代的晋升策略等。 6. **性能监控与诊断工具**:如...

    Java服务GC参数调优案例1

    JVM 和 GC 相关参数、问题解决过程、排除应用程序的内存使用问题、排除 Cache 内容过多的问题、调整 GC 时间点、调整对象在年轻代内存中驻留的时间、CMS Remark之前强制进行年轻代的 GC 等几个方面详细介绍Java服务...

    JVM常用参数设置

    本文将深入探讨JVM的常用参数设置,以及它们如何影响Java应用程序的运行。 一、JVM内存设置 1. **堆内存**: - `-Xms`:初始堆大小,例如`-Xms256m`表示初始分配256MB内存。 - `-Xmx`:最大堆大小,例如`-Xmx...

    myeclipsejava虚拟机jvm参数设置

    非堆内存的初始大小和最大大小可以通过`-XX:PermSize`和`-XX:MaxPermSize`来设置,但需要注意,这些参数在Java 8之后已不再适用,因为永久代已被元空间取代。对于元空间,JVM会根据需要自动调整大小,但可以使用`-XX...

    Java 6 JVM参数选项大全

    Java 6 JVM 参数选项是Java虚拟机的配置设置,用于优化JVM的行为和性能。这些参数通常以-XX:开头,允许开发者调整JVM内部的工作机制,以适应特定的应用场景和性能需求。以下是一些关键的JVM选项及其详细解释: 1. -...

    jvm gc

    5. **JVM调优**:通过调整JVM参数,可以控制GC的行为,例如设置堆大小、新生代和老年代的比例、GC策略等。常用的JVM参数有`-Xms`, `-Xmx`, `-Xmn`, `-XX:NewRatio`, `-XX:SurvivorRatio`, `-XX:+UseConcMarkSweepGC`...

    jvm参数设置_JVM参数设置_

    JVM参数设置是优化Java应用性能的关键环节,它可以帮助我们控制JVM的行为,如内存分配、垃圾回收策略、线程调度等。下面将详细介绍一些重要的JVM参数及其作用。 1. 内存设置: - `-Xms` 和 `-Xmx`:这两个参数用于...

    mac mat jvm gc 内存分析

    通过调整JVM参数,例如设置堆大小、新生代与老年代的比例、GC策略等,可以有效地避免内存溢出和性能瓶颈。 在进行内存分析时,MAT的几个关键功能不容忽视: - Leak Suspects报告:MAT会自动分析heap dump,提供...

    用于测试jvm gc调优-share-jvm-gc.zip

    1. **JVM参数设置**:根据应用需求,设置合适的JVM启动参数,如堆大小(`-Xms`和`-Xmx`)、新生代与老年代的比例(`-XX:NewRatio`)、Eden区与Survivor区的比例(`-XX:SurvivorRatio`)、GC日志输出(`-XX:+...

    jvm参数设置

    ### JVM参数设置详解 在Java应用开发与维护过程中,JVM(Java虚拟机)的配置至关重要,它直接影响到应用程序的性能表现与稳定性。本文将基于提供的文件内容,深入解析Linux环境下JVM的基本参数设置方法及原理。 ##...

    实战Hot Spot JVM GC

    总之,熟悉JVM内存划分和GC机制,以及掌握相关监控工具和参数配置,对于避免内存泄漏、提升Java程序的性能和稳定性至关重要。通过实战操作,分析和优化HotSpot JVM GC的工作,是每个Java开发者必须面对和解决的问题...

    java jvm 参数 -Xms -Xmx -Xmn -Xss -

    在进行JVM调优时,我们还可以考虑其他参数,比如设置不同GC算法(如Parallel GC、G1 GC或ZGC),以及调整并行GC的线程数(`-XX:ParallelGCThreads`)。对于大规模系统,还需要关注JVM的持久代大小(`-XX:MaxPermSize...

    jvmgc日志分析工具

    "jvmgc日志分析工具"专为解析和可视化JVM生成的GC日志而设计,帮助开发者识别内存瓶颈,调整内存设置,以及诊断可能的性能问题。 GC日志是JVM在运行过程中记录的关于垃圾收集活动的详细信息,包括垃圾收集的起始...

    java虚拟机(jvm)介绍以及相关参数设置与调优

    "java虚拟机(jvm)介绍以及相关参数设置与调优" Java虚拟机(JVM)是Java平台的核心组件之一,它提供了一个运行Java字节码的环境,并且负责管理Java程序的内存分配和垃圾回收。在本文中,我们将深入探讨Java虚拟机...

    jvm gc jvm调优 查看工具

    1. 内存配置:通过JVM启动参数如-Xms、-Xmx设置堆内存大小,-XX:NewRatio调整新生代和老年代的比例,-XX:SurvivorRatio设置Eden和Survivor区的比例,以及-XX:MaxMetaspaceSize(或-XX:MaxPermSize)设定元空间或永久...

    java -jvm 内存分配和jvm调优

    Java JVM(Java虚拟机)内存分配与调优是Java...通过理解JVM内存模型,选择合适的垃圾收集器和设置合理的内存参数,可以有效提升Java应用的性能和稳定性。在实践中,不断学习和试验,才能找到最适合应用的内存配置。

    深入理解JVM&G1; GC

    开发者可以通过调整JVM参数,如设置年轻代与老年代的比例、分配的Region数量、暂停时间目标等,来优化G1 GC的行为,从而达到更好的系统性能。 总之,《深入理解JVM & G1 GC》这本书为读者提供了理解JVM内存模型和G1...

Global site tag (gtag.js) - Google Analytics