• Java 参数


    java -help

    用法: java [-options] class [args...]
    (执行类)
    或 java [-options] -jar jarfile [args...]
    (执行 jar 文件)
    其中选项包括:
    -d32 使用 32 位数据模型 (如果可用)
    -d64 使用 64 位数据模型 (如果可用)
    -server 选择 "server" VM,默认 VM 是 server.
       设置jvm使server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境。在具有64位能力的jdk环境下将默认启用该模式,而忽略-client参数。 -cp
    <目录和 zip/jar 文件的类搜索路径> -classpath <目录和 zip/jar 文件的类搜索路径> 用 ; 分隔的目录, JAR 档案 和 ZIP 档案列表, 用于搜索类文件。 -D<名称>=<> 设置系统属性 -verbose:[class|gc|jni] 启用详细输出 -version 输出产品版本并退出 -version:<> 需要指定的版本才能运行 -showversion 输出产品版本并继续 -jre-restrict-search | -no-jre-restrict-search 在版本搜索中包括/排除用户专用 JRE -? -help 输出此帮助消息 -X 输出非标准选项的帮助 -ea[:<packagename>...|:<classname>] -enableassertions[:<packagename>...|:<classname>] 按指定的粒度启用断言 -da[:<packagename>...|:<classname>] -disableassertions[:<packagename>...|:<classname>] 禁用具有指定粒度的断言 -esa | -enablesystemassertions 启用系统断言 -dsa | -disablesystemassertions 禁用系统断言 -agentlib:<libname>[=<选项>] 加载本机代理库 <libname>, 例如 -agentlib:hprof 另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
      
    其中libname为本地代理库文件名,默认搜索路径为环境变量PATH中的路径,options为传给本地库启动时的参数,多个参数之间用逗号分隔。
      在Windows平台上jvm搜索本地库名为libname.dll的文件,在linux上jvm搜索本地库名为libname.so的文件,搜索路径环境变量在不同系统上有所不同,比如Solaries上就默认搜索LD_LIBRARY_PATH。
    -agentpath:<pathname>[=<选项>]

    按完整路径名加载本机代理库
       按全路径装载本地库,不再搜索PATH中的路径;其他功能和agentlib相同;更多的信息待续,在后续的JVMTI部分会详述。
    -javaagent:<jarpath>[=<选项>]
    加载 Java 编程语言代理, 请参阅 java.lang.instrument
    -splash:<imagepath>
    使用指定的图像显示启动屏幕
    有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。

     Java  -X

    C:UsersAdministrator>java -X
        -Xmixed           混合模式执行 (默认)
        -Xint             仅解释模式执行
        -Xbootclasspath:<用 ; 分隔的目录和 zip/jar 文件>
                          设置搜索路径以引导类和资源
        -Xbootclasspath/a:<用 ; 分隔的目录和 zip/jar 文件>
                          附加在引导类路径末尾
        -Xbootclasspath/p:<用 ; 分隔的目录和 zip/jar 文件>
                          置于引导类路径之前
        -Xdiag            显示附加诊断消息
        -Xnoclassgc       禁用类垃圾收集
        -Xincgc           启用增量垃圾收集
        -Xloggc:<file>    将 GC 状态记录在文件中 (带时间戳)
        -Xbatch           禁用后台编译
        -Xms<size>        设置初始 Java 堆大小
        -Xmx<size>        设置最大 Java 堆大小
        -Xss<size>        设置 Java 线程堆栈大小
        -Xprof            输出 cpu 配置文件数据
        -Xfuture          启用最严格的检查, 预期将来的默认值
        -Xrs              减少 Java/VM 对操作系统信号的使用 (请参阅文档)
        -Xcheck:jni       对 JNI 函数执行其他检查
        -Xshare:off       不尝试使用共享类数据
        -Xshare:auto      在可能的情况下使用共享类数据 (默认)
        -Xshare:on        要求使用共享类数据, 否则将失败。
        -XshowSettings    显示所有设置并继续
        -XshowSettings:all
                          显示所有设置并继续
        -XshowSettings:vm 显示所有与 vm 相关的设置并继续
        -XshowSettings:properties
                          显示所有属性设置并继续
        -XshowSettings:locale
                          显示所有与区域设置相关的设置并继续
    
    -X 选项是非标准选项, 如有更改, 恕不另行通知。
    

      

    三、JVM非Stable参数(-XX)

    Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值。

    -XX:+PrintFlagsFinal and -XX:+PrintFlagsInitial
    • 1

    读者可以使用以下语句输出所有的参数和默认值

    java -XX:+PrintFlagsInitial  -XX:+PrintFlagsInitial>>1.txt

    由于非State参数非常的多,因此这里就不列出所有参数进行讲解。只介绍我们比较常用的。

    Java HotSpot VM中-XX:的可配置参数列表进行描述;

    这些参数可以被松散的聚合成三类:

    行为参数(Behavioral Options):用于改变jvm的一些基础行为;

    性能调优(Performance Tuning):用于jvm的性能调优;

    调试参数(Debugging Options):一般用于打开跟踪、打印、输出等jvm参数,用于显示jvm更加详细的信息;

    行为参数(功能开关)
    
    -XX:-DisableExplicitGC  禁止调用System.gc();但jvm的gc仍然有效
    
    -XX:+MaxFDLimit 最大化文件描述符的数量限制
    
    -XX:+ScavengeBeforeFullGC   新生代GC优先于Full GC执行
    
    -XX:+UseGCOverheadLimit 在抛出OOM之前限制jvm耗费在GC上的时间比例
    
    -XX:-UseConcMarkSweepGC 对老生代采用并发标记交换算法进行GC
    
    -XX:-UseParallelGC  启用并行GC
    
    -XX:-UseParallelOldGC   对Full GC启用并行,当-XX:-UseParallelGC启用时该项自动启用
    
    -XX:-UseSerialGC    启用串行GC
    
    -XX:+UseThreadPriorities    启用本地线程优先级
    
    性能调优
    
    -XX:LargePageSizeInBytes=4m 设置用于Java堆的大页面尺寸
    
    -XX:MaxHeapFreeRatio=70 GC后java堆中空闲量占的最大比例
    
    -XX:MaxNewSize=size 新生成对象能占用内存的最大值
    
    -XX:MaxPermSize=64m 老生代对象能占用内存的最大值
    
    -XX:MinHeapFreeRatio=40 GC后java堆中空闲量占的最小比例
    
    -XX:NewRatio=2  新生代内存容量与老生代内存容量的比例
    
    -XX:NewSize=2.125m  新生代对象生成时占用内存的默认值
    
    -XX:ReservedCodeCacheSize=32m   保留代码占用的内存容量
    
    -XX:ThreadStackSize=512 设置线程栈大小,若为0则使用系统默认值
    
    -XX:+UseLargePages  使用大页面内存
    
    调试参数
    
    -XX:-CITime 打印消耗在JIT编译的时间
    
    -XX:ErrorFile=./hs_err_pid<pid>.log 保存错误日志或者数据到文件中
    
    -XX:-ExtendedDTraceProbes   开启solaris特有的dtrace探针
    
    -XX:HeapDumpPath=./java_pid<pid>.hprof  指定导出堆信息时的路径或文件名
    
    -XX:-HeapDumpOnOutOfMemoryError 当首次遭遇OOM时导出此时堆中相关信息
    
    -XX:OnError="<cmd args>;<cmd args>" 出现致命ERROR之后运行自定义命令
    
    -XX:OnOutOfMemoryError="<cmd args>;<cmd args>"  当首次遭遇OOM时执行自定义命令
    
    -XX:-PrintClassHistogram    遇到Ctrl-Break后打印类实例的柱状信息,与jmap -histo功能相同
    
    -XX:-PrintConcurrentLocks   遇到Ctrl-Break后打印并发锁的相关信息,与jstack -l功能相同
    
    -XX:-PrintCommandLineFlags  打印在命令行中出现过的标记
    
    -XX:-PrintCompilation   当一个方法被编译时打印相关信息
    
    -XX:-PrintGC    每次GC时打印相关信息
    
    -XX:-PrintGC Details    每次GC时打印详细信息
    
    -XX:-PrintGCTimeStamps  打印每次GC的时间戳
    
    -XX:-TraceClassLoading  跟踪类的加载信息
    
    -XX:-TraceClassLoadingPreorder  跟踪被引用到的所有类的加载信息
    
    -XX:-TraceClassResolution   跟踪常量池
    
    -XX:-TraceClassUnloading    跟踪类的卸载信息
    
    -XX:-TraceLoaderConstraints 跟踪类加载器约束的相关信息
    

      

  • 相关阅读:
    截取最后一个下划线前面的字符串
    jqgrid加载本地数据功能
    Android、Ios手机端字体根据屏幕分辨率自适应的方法,使用rem和px的区别
    js获取8个月前时间,1天前时间
    手机端/pc端 弹出后,禁止底部页面滚动方法
    列表左右滚动
    jQuery点击隐藏点击显示,计算高度,位置,给当前加上焦点,其他去掉焦点
    工厂模式浅析
    教你看懂UML类图
    Rpc基础篇
  • 原文地址:https://www.cnblogs.com/liuwd/p/10858531.html
Copyright © 2020-2023  润新知