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

一行命令获取当前JVM所有可设置的参数以及当前默认值

 
阅读更多

一行命令获取当前JVM所有可设置的参数以及当前默认值

java -XX:+PrintFlagsInitial  >>1.txt

然后查看这个1.txt即可

[plain] view plaincopy
 
  1. uintx AdaptivePermSizeWeight                    = 20              {product}             
  2. uintx AdaptiveSizeDecrementScaleFactor          = 4               {product}             
  3. uintx AdaptiveSizeMajorGCDecayTimeScale         = 10              {product}             
  4. uintx AdaptiveSizePausePolicy                   = 0               {product}             
  5. uintx AdaptiveSizePolicyCollectionCostMargin    = 50              {product}    
  6. ........  
  7. ........    

具体的参数含义可以百度,当然也可以去查找open JDK的源码查看

另外给一个目前我个人觉得不错的eclipse JVM参数

 

JDK 6 下:

[plain] view plaincopy
 
  1. -vmargs  
  2. -Xverify:none  
  3. -client  
  4. -XX:-UseSplitVerifier  
  5. -Dosgi.requiredJavaVersion=1.6  
  6. -Xms256m  
  7. -Xmx256m  
  8. -XX:MaxPermSize=200m  
  9. -XX:PermSize=200m  
  10. -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses  
  11. -XX:+CMSPermGenSweepingEnabled  
  12. -XX:+CMSClassUnloadingEnabled  
  13. -XX:+UseConcMarkSweepGC   
  14. -XX:+UseParNewGC  
  15. -XX:CompileThreshold=1000  
  16. -XX:+UseStringCache  
  17. -XX:+UseFastAccessorMethods  
  18. -XX:+UseBiasedLocking  
  19. -XX:CMSFullGCsBeforeCompaction=5  
  20. -XX:+UseCMSCompactAtFullCollection  
  21. -XX:+UseThreadPriorities  
  22. -XX:+MaxFDLimit  
  23. -XX:-DontCompileHugeMethods  
  24. -XX:InitialCodeCacheSize=128m  
  25. -XX:ReservedCodeCacheSize=128m  

 

 Java程序员有时候需要了解JVM相关的参数,不管是出于好奇或者工作需要。Oracle的文档中列出了一些,(点击这里),单并不是全部,而且有些参数的设置会默认启用或者关闭其他一些参数,而在某些情况下设置某个参数是不会生效的。还有些时候你想让JVM做某些事情,但是你不知道那个参数可以用。下面介绍一些办法用以列出所有参数,这样你在研究或者Google的时候也比较有明确的目标。

    如果你想查看一下线上正在运行的JVM到底设置了那些参数,生效的是那些,可能用到的方法:

    1. 在Linux下用ps命令找到启动Java应用时的参数

  1. ps -ef | grep "your java app name"  

    这个命令会打出你启动Java应用时传给java命令的所有参数,你可以看到里面的JVM参数。

    2.直接看启动脚本,或者参数配置

    你未必能找到所有设置这JVM参数的地方,容易遗漏。

    一般来讲以上两种办法都需要对JVM了如指掌或者非常熟悉,至少对特定的参数。

    

    其实JVM中有一个参数-XX:+PrintFlagsFinal,可以打印出几乎所有的JVM支持的参数以及他们的默认值。如果你想要查看你的Java应用到底使用了那些参数,只要在启动的时候加上这个参数就可以了。

    1.查看你使用的JDK支持的参数

  1. java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version  

    2.打印Java应用启用的JVM参数

 

 

  1. java -XX:+PrintFlagsFinal -classpath=/path/to/your/libs MainClass  

 

    3.如果你的Java应用已经是运行状态了,你想查看某个JVM参数生效没有可以使用jinfo这个工具。比如说大名鼎鼎的G1垃圾回收器,在JDK7update3中不论是客户端(-client)还是服务器(-server)模式下都不是默认启动的。

    jinfo是随JDK一起发布的,使用时先用jps找到Java应用的pid。直接运行jinfo可以查看使用说明。

 

  1. jinfo -flag UseParallelOldGC 31072  
  1. -XX:+UseParallelOldGC  

 

    JDK中实用的工具还很多,可以逐个的体验一下${JAVA_HOME}/bin目录中的每个命令,有惊喜。

 

 

 

http://blog.csdn.net/zhangjianying/article/details/7461563

 

http://blog.csdn.net/redhat456/article/details/7360249

分享到:
评论

相关推荐

    JAVA命令大全-JVM设置.rar

    2. **JVM参数**:JVM有许多可调整的参数,如`-Xms`和`-Xmx`用于设置堆内存大小,`-XX:NewRatio`控制新生代与老年代的比例,`-XX:SurvivorRatio`设定Eden区与Survivor区的比例,`-XX:+UseConcMarkSweepGC`启用CMS垃圾...

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

    本文将详细介绍如何在 Tomcat 6.0 中修改启动内存设置以及配置 Java 虚拟机 (JVM) 的相关参数。 #### 二、JVM 内存参数详解 在调整 Tomcat 的内存设置之前,我们需要了解一些基本的 JVM 内存参数: 1. **`-Xms`**...

    JVM常用参数设置

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

    设置Eclipse的JVM参数

    其中,设置合适的JVM(Java虚拟机)参数是优化Eclipse运行性能的重要手段之一。本文将详细介绍如何设置Eclipse的JVM参数,并解释这些参数的意义及其对Eclipse性能的影响。 #### 二、Eclipse与JVM的关系 Eclipse...

    eclipse中对jvm进行设置

    Eclipse中的JVM内存设置涉及到多个参数,这些参数用于控制JVM如何分配和管理内存资源。以下是关于JVM内存设置的一些详细知识: 1. **JVM内存结构**: - **堆内存(Heap)**:这是Java应用程序的主要内存区域,用来...

    jvm参数设置

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

    jvm参数设置_JVM参数设置_

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

    jvm内存参数调优

    其中`libname`为本地代理库文件名,如`hprof`,可用于获取JVM的运行情况,包括CPU、内存、线程等运行数据,并可以输出到指定文件中。`options`是传递给本地库的参数,多个参数间用逗号分隔。在不同的操作系统上,...

    常用JVM配置参数.ppt

    本文将深入探讨一些常用的JVM配置参数,包括但不限于跟踪参数、堆的分配参数以及栈的分配参数,并通过具体示例加以说明。 #### 二、Trace跟踪参数 ##### -verbose:gc - **作用**:该参数用于开启GC(垃圾回收)...

    jvm 配置jvm参数

    然而,最佳的JVM参数配置往往依赖于具体的应用场景和硬件配置,因此,持续的性能监控和调优是必不可少的。希望本文能为读者提供一个深入理解JVM参数配置的起点,引导大家探索更高级的性能优化技术。

    关键业务系统JVM参数推荐

    在进行JVM调优之前,先通过该命令查看当前的参数值,有助于避免重复设置已经默认开启的参数,同时也可以了解不同版本之间的差异。 2. **-XX:+AlwaysPreTouch** - 启动时预访问并置零所有分配的内存页面,虽然可能...

    jvm 参数调优实践

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

    JVM内存参数详解以及配置调优

    JVM 内存参数详解以及配置调优 JVM 内存参数是 Java 虚拟机中最重要的参数之一,它直接影响着 Java 应用程序的性能和稳定性。在这个资源中,我们将详细讨论 JVM 内存参数的配置和调优,包括 JVM 的结构、内存管理、...

    jvm启动参数大全

    9. **-XX:+PrintFlagsFinal**: 打印所有默认的JVM设置和它们的值,有助于理解和调试JVM行为。 10. **-XX:+HeapDumpOnOutOfMemoryError**: 当发生内存溢出错误时,生成堆转储文件,便于后续分析。 11. **-XX:+...

    java虚拟机jvm及Tomcat中的jvm有关内存的设置与调优

    1. **堆内存(Heap)**:这是JVM管理的最大块内存区域,用于存储所有对象实例以及数组。堆内存又分为年轻代(Young Generation)和老年代(Old Generation),年轻代进一步细分为Eden区和两个Survivor区(S0、S1)。 2. **...

    JVM内存设置方法.docx

    一、 JVM 内存设置参数 JVM 内存设置参数有四个: * -Xss:每个线程的 Stack 大小 * -Xmx:Java Heap 最大值 * -Xms:Java Heap 初始值 * -Xmn:Java Heap Young 区大小 这些参数的默认值可以根据物理内存大小及...

    jvm常用命令工具

    Java虚拟机(JVM)提供了一系列内置的监控和诊断工具,可以帮助开发者和运维人员高效地获取和分析这些信息。本篇文章将详细介绍以下几个核心的JVM命令工具及其使用方法: 1. **jps** - 显示系统中所有HotSpot虚拟机...

Global site tag (gtag.js) - Google Analytics