JVM参数说明

原文:http://www.cnblogs.com/wenfeng762/archive/2011/08/14/2137810.html

做了这么多年java,自以为算是熟悉,其实还差得远,啥也别说了,还是踏踏实实地学吧。今天总结一下常用的JVM的启动参数。

参数类别

参数项

说明

标准参数(-,所有的JVM实现都必须实现这些参数的功能,而且向后兼容)

-client

client模式启动jvm,这种方式启动速度快,但运行时性能和内存管理效率不高,适合客户端程序或者开发调试。

-server

server模式启动jvm,与client情况恰好相反。适合生产环境。64位的jvm自动以server模式启动。

-classpath

-cp

告诉jvm类搜索路径。如果指定了-classpath,则jvm就忽略CLASSPATH中指定的路径。各路径之间以分号隔开。如果-classpathCLASSPATH都没有指定,则jvm从当前路径寻找class

Jvm搜索class的方式和顺序为:Bootstrap(jvm自带的)->ExtensionJRE_HOME/lib/ext中的)->User(应用程序自己的)。如下语句会输出上述三种方式的路径信息:

System.getProperty("sun.boot.class.path");

System.getProperty("java.ext.dirs");

System.getProperty("java.class.path");

-Dproperty=value

设置系统属性名/值对。如果value中有空格,则需要使用双引号。

-jar

指定以jar包的形式启动应用程序

-javaagent:<jarpath>[=<options>]

指定jvm启动时装入java语言设备代理。关于设备代理是jdk1.5新推出的概念。进一步的信息可以参考java.lang.instrument.Instrumentation接口

-verbose[:class|gc|jni]

分别输出:

Jvm载入类的信息。诊断ClassNotFound错误时有用

Jvm每次gc的信息。

Native方法调用的情况,用于诊断jni调用。

非标准参数(-X ,默认JVM实现此功能,但是不保证所有JVM都实行,而且不保证向后兼容)

-Xbootclasspath:bootclasspath

jvm从指定的路径中加载bootclass,用来替换jdkrt.jar。一般不会用到。

-Xbootclasspath/a:path

被指定的文件追加到默认的bootstrap路径中。

-Xbootclasspath/p:path

jvm优先于默认的bootstrap去加载path中指定的class

-Xincgc

开启增量gc,一般也不会用到。

-Xloggc:file

输出gc日志,在没有专业的监控工具时,这个显得很有用。

-Xmsn

指定jvm堆的初始大小。默认是物理内存的1/64

-Xmxn

指定jvm堆的最大值。默认是物理内存的1/4

-Xprof

跟踪正在运行的程序,并将跟踪数据输出到标准输出,适合开发调试。

-Xssn

设置单个线程栈的大小。

非稳定参数(-XX,此类参数各个JVM的实现会有不同,而且随时可能消失)

-XX:+ScavengeBeforeFullGC

新生代GC优先于Full GC执行

-XX:+UseGCOverheadLimit

在抛出OOM之前,jvm消耗在gc上的时间比例。

-XX:-UseConcMarkSweepGC

采用并发标记交换算法进行GC。并发是指过个线程同时gc,适合多核处理器的情况,并发一定满足并行,反之不成立。

-XX:-UseParallelGC

启用并行GC。并行是指有独立的线程进行gcgc时不会打断应用线程。

-XX:-UseSerialGC

启用串行GC。新版本jdk不会这么干了。

-XX:MaxNewSize=size

Java堆中新生成对象占用堆的大小

-XX:MaxPermSize=size

Java堆中年老代占用堆的最大值

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

指定导出堆信息时的路径或者文件名。

-XX:-HeadDumpOnOutOfMemoryError

当首次出现OOM时导出此时堆中相关信息。

-XX:-PrintGC

每次GC时打印相关信息

-XX:-PrintGC Details

每次GC时打印详细信息

-XX:-PrintGCTimeStamps

打印GC的时间戳

-XX:-TranceClassLoading

跟踪类的加载信息

-XX:-TraceClassLoadingPreorder

跟踪被引用到的所有类的加载信息

-XX:-TranceClassResolution

跟踪常量池

-XX:-TraceClassUnloading

跟踪类的卸载信息


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值