`
dasheng
  • 浏览: 148600 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JVM 参数大全

 
阅读更多

Behavioral Options(行为参数)

 

Option and Default Value Description
-XX:-AllowUserSignalHandlers

Do not complain if the application installs signal handlers. (Relevant to Solaris and Linux only.)

允许应用程序安装信号处理器(仅在solaris和linux起作用。)

-XX:AltStackSize=16384

Alternate signal stack size (in Kbytes). (Relevant to Solaris only, removed from 5.0.)

备用信号栈大小(仅在solaris起作用,从5.0起已经删除)

-XX:-DisableExplicitGC

Disable calls to System.gc(), JVM still performs garbage collection when necessary.

禁止调用System.gc(), JVM 依然在必要时执行垃圾回收。

-XX:+FailOverToOldVerifier

Fail over to old verifier when the new type checker fails. (Introduced in 6.)

当新的类型检查器失败时转移到旧的类型检查器上(从6.0开始引进)

-XX:+HandlePromotionFailure

The youngest generation collection does not require a guarantee of full promotion of all live objects. (Introduced in 1.4.2 update 11) [5.0 and earlier: false.]

最年轻一代的垃圾收集不需要保证所有的活动对象完全升级。

-XX:+MaxFDLimit

Bump the number of file descriptors to max. (Relevant  to Solaris only.)

文件描述符设置到最大。(只与solaris相关)

-XX:PreBlockSpin=10

Spin count variable for use with -XX:+UseSpinning. Controls the maximum spin iterations allowed before entering operating system thread synchronization code. (Introduced in 1.4.2.)

在启用-XX:+UseSpinning 的情况下,设置旋转计数变量,来控制进入系统的线程同步代码之前,允许的最大旋转迭代次数。(在1.4.2引入)

-XX:-RelaxAccessControlCheck

Relax the access control checks in the verifier. (Introduced in 6.)

在验证器里放松访问控制的检查。(在6.0引入)

-XX:+ScavengeBeforeFullGC

Do young generation GC prior to a full GC. (Introduced in 1.4.1.)

最年轻一代GC优先于全局GC(在1.4.1引入)

-XX:+UseAltSigs

Use alternate signals instead of SIGUSR1 and SIGUSR2 for VM internal signals. (Introduced in 1.3.1 update 9, 1.4.1. Relevant to Solaris only.)

用备份信号代替JVM的SIGUSR1 和 SIGUSR2 (只和solaris相关)

-XX:+UseBoundThreads

Bind user level threads to kernel threads. (Relevant to Solaris only.)

绑定用户级别的线程到内核线程。(只与solaris有关)

-XX:-UseConcMarkSweepGC

Use concurrent mark-sweep collection for the old generation. (Introduced in 1.4.1)

对老一代对象区使用同步标记并摖除垃圾收集算法(从1.4.1引进)

-XX:+UseGCOverheadLimit

Use a policy that limits the proportion of the VM's time that is spent in GC before an OutOfMemory error is thrown. (Introduced in 6.)

在OutOfMemory错误抛出之前,采用限制花费在GC上的时间在VM比例幅度的策略。(在6.0引入)

-XX:+UseLWPSynchronization

Use LWP-based instead of thread based synchronization. (Introduced in 1.4.0. Relevant to Solaris only.)

用基于LWP的同步来替代基于线程的同步。(从1.4.0引入,只和solaris相关)

-XX:-UseParallelGC

Use parallel garbage collection for scavenges. (Introduced in 1.4.1)

用并行垃圾收集的算法来清除对象。(从1.4.1起引入)

-XX:-UseParallelOldGC

Use parallel garbage collection for the full collections. Enabling this option automatically sets -XX:+UseParallelGC. (Introduced in 5.0 update 6.)

对整个收集使用并行垃圾收集算法,并自动设置-XX:+UseParallelGC。(从5.0引入升级到6.0)

-XX:-UseSerialGC

Use serial garbage collection. (Introduced in 5.0.)

使用系列垃圾收集算法(从5.0起引入)

-XX:-UseSpinning

Enable naive spinning on Java monitor before entering operating system thread synchronizaton code. (Relevant to 1.4.2 and 5.0 only.) [1.4.2, multi-processor Windows platforms: true]

在进入系统线程同步代码之前在JAVA监视器上使用原生的旋转。

(只与1.4.2和5.0相关,1.4.2只有在多处理器的windows平台才有效)

-XX:+UseTLAB

Use thread-local object allocation (Introduced in 1.4.0, known as UseTLE prior to that.) [1.4.2 and earlier, x86 or with -client: false]

用本地线程对象分配内存(从1.4.0引入,UseTLE优先于该选项,- client: 无效)

-XX:+UseSplitVerifier

Use the new type checker with StackMapTable attributes. (Introduced in 5.0.)[5.0: false]

用新类型检查器里用StackMapTable属性。(从5.0开始引入)

-XX:+UseThreadPriorities

Use native thread priorities.

优先用本地线程

-XX:+UseVMInterruptibleIO

Thread interrupt before or with EINTR for I/O operations results in OS_INTRPT. (Introduced in 6. Relevant to Solaris only.)

在用I/O操作导致的OS_INTRPT或者使用线程终断。

(在6.0引入,只与solaris有关)

 

Performance Options(性能参数)

 

Option and Default Value Description
-XX:+AggressiveOpts

Turn on point performance compiler optimizations that are expected to be default in upcoming releases. (Introduced in 5.0 update 6.)

打开性能编译器优化(在5.0引入升级到6.0)

-XX:CompileThreshold=10000

Number of method invocations/branches before compiling [-client: 1,500]

编译前方法调用/分支的数目【-client默认是1500】

-XX:LargePageSizeInBytes=4m

Sets the large page size used for the Java heap. (Introduced in 1.4.0 update 1.) [amd64: 2m.]

设置用于Java堆的最大页的尺寸

-XX:MaxHeapFreeRatio=70

Maximum percentage of heap free after GC to avoid shrinking.

为了避免重叠,GC后最大空闲的堆的最大百分比。

-XX:MaxNewSize=size

Maximum size of new generation (in bytes). Since 1.4, MaxNewSize is computed as a function of NewRatio. [1.3.1 Sparc: 32m; 1.3.1 x86: 2.5m.]

新生代的最大尺寸。从1.4开始,MaxNewSize由NewRatio的函数计算而来。

-XX:MaxPermSize=64m

Size of the Permanent Generation.  [5.0 and newer: 64 bit VMs are scaled 30% larger; 1.4 amd64: 96m; 1.3.1 -client: 32m.]

永久生代的尺寸。

-XX:MinHeapFreeRatio=40

Minimum percentage of heap free after GC to avoid expansion.

为了避免扩张,GC后最小空闲堆的百分比。

-XX:NewRatio=2

Ratio of new/old generation sizes. [Sparc -client: 8; x86 -server: 8; x86 -client: 12.]-client: 4 (1.3) 8 (1.3.1+), x86: 12]

新生代/老生代的比分比。

-XX:NewSize=2.125m

Default size of new generation (in bytes) [5.0 and newer: 64 bit VMs are scaled 30% larger; x86: 1m; x86, 5.0 and older: 640k]

默认的新生代大小。

-XX:ReservedCodeCacheSize=32m

Reserved code cache size (in bytes) - maximum code cache size. [Solaris 64-bit, amd64, and -server x86: 48m; in 1.5.0_06 and earlier, Solaris 64-bit and and64: 1024m.]

保留的代码缓存大小-最大的代码缓存大小

-XX:SurvivorRatio=8

Ratio of eden/survivor space size [Solaris amd64: 6; Sparc in 1.3.1: 25; other Solaris platforms in 5.0 and earlier: 32]

销毁/保留的空间比例

-XX:TargetSurvivorRatio=50

Desired percentage of survivor space used after scavenge.

清除后期望的保留空间比率

-XX:ThreadStackSize=512

Thread Stack Size (in Kbytes). (0 means use default stack size) [Sparc: 512; Solaris x86: 320 (was 256 prior in 5.0 and earlier); Sparc 64 bit: 1024; Linux amd64: 1024 (was 0 in 5.0 and earlier); all others 0.]

线程栈大小

-XX:+UseBiasedLocking

Enable biased locking. For more details, see this tuning example. (Introduced in 5.0 update 6.) [5.0: false]

使用偏锁

-XX:+UseFastAccessorMethods

Use optimized versions of Get<Primitive>Field.

使用优化版本的Get<Primitive>方法。

-XX:-UseISM

Use Intimate Shared Memory. [Not accepted for non-Solaris platforms.] For details, see Intimate Shared Memory.

使用亲密共享空间【对非solaris平台无效】

-XX:+UseLargePages

Use large page memory. (Introduced in 5.0 update 5.) For details, see Java Support for Large Memory Pages.

使用large page memory

-XX:+UseMPSS

Use Multiple Page Size Support w/4mb pages for the heap. Do not use with ISM as this replaces the need for ISM. (Introduced in 1.4.0 update 1, Relevant to Solaris 9 and newer.) [1.4.1 and earlier: false]

使用Multiple Page Size Support

-XX:+UseStringCache Enables caching of commonly allocated strings.
 使用常用字符串缓存
-XX:AllocatePrefetchLines=1

Number of cache lines to load after the last object allocation using prefetch instructions generated in JIT compiled code. Default values are 1 if the last allocated object was an instance and 3 if it was an array.

用预取指令分配一个对象,缓存代码的行数。缺省是1,数组是3.
 

-XX:AllocatePrefetchStyle=1

Generated code style for prefetch instructions.
0 - no prefetch instructions are generate*d*,
1 - execute prefetch instructions after each allocation,
2 - use TLAB allocation watermark pointer to gate when prefetch instructions are executed.

预取指令的产生代码风格:

0-没有预取指令,

1-每一次分配内存就执行预取指令,

2-当执行预取代码指令时,用TLAB分配水印指针指向门。
 

-XX:+UseCompressedStrings

Use a byte[] for Strings which can be represented as pure ASCII. (Introduced in Java 6 Update 21 Performance Release)

用byte[] 代替字符串(从Java6开始引入)
 

-XX:+OptimizeStringConcat

Optimize String concatenation operations where possible. (Introduced in Java 6 Update 20)

可能的话优化字符串连接操作(从Java6引入)

 

Debugging Options(dubug参数)

 

Option and Default Value Description
-XX:-CITime

Prints time spent in JIT Compiler. (Introduced in 1.4.0.)

打印JIT编译器花费的时间(从1.4.0引入)

-XX:ErrorFile=./hs_err_pid<pid>.log

If an error occurs, save the error data to this file. (Introduced in 6.)

错误发生时,把错误保存到一个指定文件。

-XX:-ExtendedDTraceProbes

Enable performance-impacting dtrace probes. (Introduced in 6. Relevant to Solaris only.)

启用performance-impacting dtrace跟踪(从6.0引入,只在solaris有效)

-XX:HeapDumpPath=./java_pid<pid>.hprof

Path to directory or filename for heap dump. Manageable. (Introduced in 1.4.2 update 12, 5.0 update 7.)

堆dump文件的存放目录。(从1.4.2引入)

-XX:-HeapDumpOnOutOfMemoryError

Dump heap to file when java.lang.OutOfMemoryError is thrown. Manageable. (Introduced in 1.4.2 update 12, 5.0 update 7.)

当抛出异常java.lang.OutOfMemoryError 时,Dump heap 到文件。(从1.4.2引入)

-XX:OnError="<cmd args>;<cmd args>"

Run user-defined commands on fatal error. (Introduced in 1.4.2 update 9.)

在致命错误发生时运行用户定义命令(从1.4.2引入)

-XX:OnOutOfMemoryError="<cmd args>;
<cmd args>"

Run user-defined commands when an OutOfMemoryError is first thrown. (Introduced in 1.4.2 update 12, 6)

运行用户定义命令当一个OutOfMemoryError 异常抛出时。

(从1.4.2引入)

-XX:-PrintClassHistogram

Print a histogram of class instances on Ctrl-Break. Manageable. (Introduced in 1.4.2.) The jmap -histo command provides equivalent functionality.

Ctrl-Break打印类实例的直方图(从1.4.2引入)

-XX:-PrintConcurrentLocks

Print java.util.concurrent locks in Ctrl-Break thread dump. Manageable. (Introduced in 6.) The jstack -l command provides equivalent functionality.

打印java.util.concurrent 锁

-XX:-PrintCommandLineFlags

Print flags that appeared on the command line. (Introduced in 5.0.)

打印在命令行中的标志(从5.0引入)

-XX:-PrintCompilation

Print message when a method is compiled.

当方法被编译时打印消息

-XX:-PrintGC

Print messages at garbage collection. Manageable.

垃圾收集时打印消息

-XX:-PrintGCDetails

Print more details at garbage collection. Manageable. (Introduced in 1.4.0.)

垃圾收集时打印具体信息

-XX:-PrintGCTimeStamps

Print timestamps at garbage collection. Manageable (Introduced in 1.4.0.)

垃圾收集时打印时间戳(从1.40引入)

-XX:-PrintTenuringDistribution

Print tenuring age information.

打印任期年纪信息

-XX:-TraceClassLoading

Trace loading of classes.

跟踪正在加载的类

-XX:-TraceClassLoadingPreorder

Trace all classes loaded in order referenced (not loaded). (Introduced in 1.4.2.)

按顺序跟踪所有已经加载的类(从1.4.2引入)

-XX:-TraceClassResolution

Trace constant pool resolutions. (Introduced in 1.4.2.)

跟踪常量池分辨率(从1.4.2引入)

-XX:-TraceClassUnloading

Trace unloading of classes.

跟踪正在上传的类

-XX:-TraceLoaderConstraints

Trace recording of loader constraints. (Introduced in 6.)

跟踪加载器的限制记录(从6.0引入)

-XX:+PerfSaveDataToFile

Saves jvmstat binary data on exit.

退出时保存jvmstat二进值数据

-XX:ParallelGCThreads=

Sets the number of garbage collection threads in the young and old parallel garbage collectors. The default value varies with the platform on which the JVM is running.

设置在青年和老年并行垃圾收集程序的收集线程的数目,缺省值根据JVM运行的平台变化而变化。

-XX:+UseCompressedOops

Enables the use of compressed pointers (object references represented as 32 bit offsets instead of 64-bit pointers) for optimized 64-bit performance with Java heap sizes less than 32gb.

使用compressed pointers

-XX:+AlwaysPreTouch

Pre-touch the Java heap during JVM initialization. Every page of the heap is thus demand-zeroed during initialization rather than incrementally during application execution.

当JVM初始化时预先对Java堆进行预先摸底

-XX:AllocatePrefetchDistance=

Sets the prefetch distance for object allocation. Memory about to be written with the value of new objects is prefetched into cache at this distance (in bytes) beyond the address of the last allocated object. Each Java thread has its own allocation point. The default value varies with the platform on which the JVM is running.

为对象分配设置预取距离。

-XX:InlineSmallCode=

Inline a previously compiled method only if its generated native code size is less than this. The default value varies with the platform on which the JVM is running.

当生成本地代码的大小小于给定的值时,内联这个预编译方法。

-XX:MaxInlineSize=35

Maximum bytecode size of a method to be inlined.

内联一个方法的最大字节码大小

-XX:FreqInlineSize=

Maximum bytecode size of a frequently executed method to be inlined. The default value varies with the platform on which the JVM is running.

经常执行方法内联的最大字节大小

-XX:LoopUnrollLimit=

Unroll loop bodies with server compiler intermediate representation node count less than this value. The limit used by the server compiler is a function of this value, not the actual value. The default value varies with the platform on which the JVM is running.

代表节点数目小于给定值时打开循环体

-XX:InitialTenuringThreshold=7

Sets the initial tenuring threshold for use in adaptive GC sizing in the parallel young collector. The tenuring threshold is the number of times an object survives a young collection before being promoted to the old, or tenured, generation.

为自适应GC设置保有年龄阀值。就是一个对象被升级到年老,中年的时代的次数

-XX:MaxTenuringThreshold=

Sets the maximum tenuring threshold for use in adaptive GC sizing. The current largest value is 15. The default value is 15 for the parallel collector and is 4 for CMS.

设置最大年龄保有阀值。当前最大值是15.

 

http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

 

另一个更准确的版本:

http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm

 

分享到:
评论
3 楼 dasheng 2011-09-30  
参考着看吧,我也上粗粗了解
2 楼 fjjiaboming 2011-09-30  
翻译准确多高 ?
1 楼 fjjiaboming 2011-09-30  
翻译挺全的.

相关推荐

    jdk8 jvm 参数图(随手参考好资料)

    常用jvm参数都在这张图中,参考起来方便,是国外大神整理的

    jvm启动参数大全

    **JVM启动参数大全** Java虚拟机(JVM)是Java程序运行的基础,它负责解析字节码并执行Java代码。在开发和调优Java应用时,了解和使用JVM启动参数至关重要。这些参数可以调整JVM的行为,优化内存分配、垃圾收集、...

    tomcat6.0 修改启动内存设置 java jvm参数配置

    ### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...

    Java 6 JVM 参数选项大全

    特别是在Java、J2EE等大型应用中,通过合理设置JVM参数可以极大提升系统的整体性能与稳定性。 #### JVM 非标准参数的重要性 JVM非标准参数主要指那些用于优化JVM内部行为的配置项,这些参数通常在开发阶段被忽略或...

    关键业务系统JVM参数推荐

    ### 关键业务系统JVM参数推荐 #### 一、引言 在关键业务系统中,除了追求高吞吐量和低延迟之外,系统的稳定性和问题排查的便捷性同样至关重要。因此,选择合适的JVM参数变得尤为重要。本文将详细介绍一些常用的JVM...

    IBM JVM参数选项

    **: 显示帮助信息,介绍可用的所有JVM参数。 - 示例:`-help` 3. **-fullversion**: 输出JVM的完整版本信息。 - 示例:`-fullversion` 4. **-showversion**: 显示JVM的版本信息。 - 示例:`-showversion` 5. *...

    设置Eclipse的JVM参数

    ### 设置Eclipse的JVM参数 #### 一、引言 在进行Java开发时,Eclipse作为一款广泛使用的集成开发环境(IDE),其性能优化对于提高开发效率和应用稳定性至关重要。其中,设置合适的JVM(Java虚拟机)参数是优化...

    jvm 参数及gc详解

    本文将深入探讨JVM参数及其与Java垃圾收集相关的知识。 一、JVM参数详解 JVM参数可以分为三类:启动参数(-X),标准参数(-XX),以及非公开(实验性)参数(-XX:)。这些参数允许开发者对JVM的行为进行精细调整...

    jvm参数设置

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

    JVM优化3(Tomcat参数调优,JVM参数调优,jvm字节码,代码优化).pdf

    本篇文件内容主要介绍了JVM优化的第三部分,重点围绕Tomcat参数调优、JVM参数调优、JVM字节码优化以及代码优化等几个方面。下面是针对这些知识点的详细解释: 1. Tomcat参数调优 在Tomcat参数调优部分,首先介绍了...

    jvm 配置jvm参数

    ### JVM参数配置详解 #### 一、理解JVM参数配置的重要性 Java Virtual Machine (JVM) 是运行Java程序的核心环境,其性能优化很大程度上依赖于正确的JVM参数配置。合理配置JVM参数不仅可以显著提升应用程序的运行...

    简单实用JVM参数配置

    【JVM参数配置详解】 Java Virtual Machine (JVM) 是Java程序的核心组成部分,它负责解析和执行Java程序的字节码。JVM的设计目标是提供跨平台的运行环境,通过在实际硬件上模拟一个虚拟的计算机系统,使得Java程序...

    jvm参数与系统性能的优化

    JVM 参数与系统性能的优化 在 Java 虚拟机(JVM)中,参数设置对系统性能的影响是至关重要的。通过设置合适的 JVM 参数,可以提高系统性能,减少垃圾回收的频率和时间,提高应用程序的执行效率。 第一点:设置堆栈...

    Java 6 JVM参数选项大全

    描述JVM6主要的调试启动参数,网上收集整理。

    java6 JVM 调优参数大全

    java6 JVM 调优参数大全 -XX

    Linux简单调优与JVM参数.docx

    Linux 服务器调优与 JVM 参数调优 本文主要介绍了 Linux 服务器调优和 JVM 参数调优的相关知识点,以便提高服务器性能和 JVM 应用程序的运行效率。 Linux 服务器调优 Linux 服务器调优是指对 Linux 操作系统的...

    jvm 参数调优实践

    JVM参数调优是优化Java应用程序性能的关键环节,尤其是在服务器端的应用中,如Web服务器Resin。本实践案例中,作者分别尝试了三种不同的垃圾回收(GC)策略:串行回收、并行回收和并发回收,并针对每种策略提供了...

Global site tag (gtag.js) - Google Analytics