JVM 基本参数

基本的JVM参数:
-classpath, -cp: 设置类搜索路径
-client, -server: JVM运行模式, 不同的模式相应的一些默认参数不一样, 比如垃圾回收策略
-D<propertyName>=value: 设置JVM系统属性, 可通过System.getProperty(“propertyName”)获取
-verbose[:gc|class|jni]: 显示JVM运行过程中的gc,class load, jni调用, 如:java -verbose:jni -verbose:class
-version[:value]: 显示JVM版本或指定以某个版本运行, 如: java -version:1.6
-showversion: 显示JVM版本后再运行
-jre-restrict-search | -jre-no-restrict-search: include/exclude user private JREs in the version search 很少用, 不清楚详细情况
-ea[:<packagename>...|:<classname>], -enableassertions[:<packagename>...|:<classname>]: 针对(指定的包或类)启用断言
-da[:<packagename>...|:<classname>], -disableassertions[:<packagename>...|:<classname>]: 针对(指定的包或类)禁用断言
-esa | -enablesystemassertions: 启用系统级断言
-dsa | -disablesystemassertions: 禁用系统级断言
-agentlib:<libname>[=<options>]: 指定加载本地代理库(dll,so文件,注:不加后缀)
-agentpath:<pathname>[=<options>]: 指定加载本地代理库的路径(全路径)
-javaagent:<jarpath>[=<options>]: 指定代理库的jar路径
-splash:<imagepath>: 指定splash的图片路径
-X: JVM的非标准参数, 它比较复杂, 下面详细介绍 -X

  • -Xmixed: 以混合模式执行(默认)
  • -Xint: 只是解释模式执行
  • -Xbootclasspath:<directories and zip/jar files separated by ;>: 设置JVM bootstrap classloader的搜索路径(JVM class loader: bootstrap classloader, extension classloader, system classloader)
  • -Xbootclasspath/a:<directories and zip/jar files separated by ;>: 添加到bootstrap classpath末尾
  • -Xbootclasspath/p:<directories and zip/jar files separated by ;>: 插入到bootstrap classpath之前
  • -Xnoclassgc: 禁用类垃圾回收
  • -Xincgc: 启动增量垃圾收集器,缺省是关闭的。增量垃圾收集器能减少偶然发生的长时间的垃圾回收造成的暂停时间。但增量垃圾收集器和应用程序并发执行,因此会占用部分CPU在应用程序上的功能
  • -Xloggc:<file>: 将虚拟机每次垃圾回收的信息写到日志文件中,文件名由file指定,内容和-verbose:gc输出内容相同
  • -Xbatch: 禁用后台编译功能。通常虚拟机将编译方法作为后台任务执行,在后台编译完成之前,采用解释方式执行方法。-Xbatch选项禁用后台编译功能,所以所有方法的编译作为前台任务直到结束
  • -Xms<size>: 设置JVM堆的初始大小
  • -Xmx<size>: 设置JVM堆的最大值
  • -Xss<size>: 设置JVM栈大小
  • -Xprof: 输出CPU运行时的诊断信息
  • -Xfuture: 对类文件进行严格格式检查,以保证类代码符合类代码规范。为保持向后兼容,虚拟机缺省不进行严格的格式检查
  • -Xrs: 减少虚拟机中操作系统的信号(singals)的使用。该参数通常用在虚拟机以后台服务方式运行时使用
  • -Xcheck:jni: 调用JNI函数时进行附加的检查,特别地虚拟机将校验传递给JNI函数参数的合法性,在本地代码中遇到非法数据时,虚拟机将报一个致命错误而终止。使用该参数后将造成性能下降
  • -Xshare:off: 不在JVM进程间共享类数据
  • -Xshare:auto: 自动共享类数据(默认)
  • -Xshare:on: 开户类数据共享
  • -Xshare:dump: 生成类数据共享

猜你喜欢

转载自mojianpo.iteye.com/blog/2040417