博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一行命令获取当前JVM所有可设置的参数以及当前默认值
阅读量:6590 次
发布时间:2019-06-24

本文共 2244 字,大约阅读时间需要 7 分钟。

hot3.png

一行命令获取当前JVM所有可设置的参数以及当前默认值 博客分类: java jvm

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

java -XX:+PrintFlagsInitial  >>1.txt

然后查看这个1.txt即可

[plain] 
 
  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] 
 
  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应用时的参数

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

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

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

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

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

    

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

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

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

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

 

 

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

 

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

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

 

[java] 
 
  1. jinfo -flag UseParallelOldGC 31072  
[java] 
 
  1. -XX:+UseParallelOldGC  

 

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

 

 

 

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

 

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

转载于:https://my.oschina.net/xiaominmin/blog/1597328

你可能感兴趣的文章
webservice的几个简单概念
查看>>
underscore 1.7.0 api
查看>>
C# CheckedListBox控件的使用方法
查看>>
spring Transaction Management --官方
查看>>
iOS开发-清理缓存功能的实现
查看>>
IS_ERR、PTR_ERR、ERR_PTR
查看>>
html5 canvas 奇怪的形状垂直渐变
查看>>
mac java环境
查看>>
lamp 一键安装
查看>>
SQL Server 2008 收缩日志(log)文件
查看>>
UICollectionView基础
查看>>
SSAS中CUBE行权限数据级权限控制
查看>>
android学习记录(三)百度地图错误---只有一个电话显示帧,没有地图内容。
查看>>
BZOJ2794 : [Poi2012]Cloakroom
查看>>
【Eclipse】安装subclipse的Eclipse插件
查看>>
Git查看、删除、重命名远程分支和tag【转】
查看>>
浅谈IM软件业务知识——非对称加密,RSA算法,数字签名,公钥,私钥
查看>>
Oracle中REGEXP_SUBSTR及其它支持正则表达式的内置函数小结
查看>>
正确计算linux系统内存使用率
查看>>
关于MapReduce单词统计的例子:
查看>>