1.java 标准参数
C:\Users\Administrator>java -h 用法: java [-options] class [args...] (执行类) 或 java [-options] -jar jarfile [args...] (执行 jar 文件) 其中选项包括: -d32 使用 32 位数据模型 (如果可用) -d64 使用 64 位数据模型 (如果可用) -server 选择 "server" VM -hotspot 是 "server" VM 的同义词 [已过时] 默认 VM 是 server. -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[: ...|: ] -enableassertions[: ...|: ] 按指定的粒度启用断言 -da[: ...|: ] -disableassertions[: ...|: ] 禁用具有指定粒度的断言 -esa | -enablesystemassertions 启用系统断言 -dsa | -disablesystemassertions 禁用系统断言 -agentlib: [= ] 加载本机代理库 , 例如 -agentlib:hprof 另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help -agentpath: [= ] 按完整路径名加载本机代理库 -javaagent: [= ] 加载 Java 编程语言代理, 请参阅 java.lang.instrument -splash: 使用指定的图像显示启动屏幕 有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。 #### 2. java 非标准参数 C:\Users\Administrator>java -X -Xmixed 混合模式执行 (默认) -Xint 仅解释模式执行 -Xbootclasspath:<用 ;="" 分隔的目录和="" zip="" jar="" 文件=""> 设置搜索路径以引导类和资源 -Xbootclasspath/a:<用 ;="" 分隔的目录和="" zip="" jar="" 文件=""> 附加在引导类路径末尾 -Xbootclasspath/p:<用 ;="" 分隔的目录和="" zip="" jar="" 文件=""> 置于引导类路径之前 -Xdiag 显示附加诊断消息 -Xnoclassgc 禁用类垃圾收集 -Xincgc 启用增量垃圾收集 -Xloggc: 将 GC 状态记录在文件中 (带时间戳) -Xbatch 禁用后台编译 -Xms 用>用>用>设置初始 Java 堆大小 -Xmx 设置最大 Java 堆大小 -Xss 设置 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 选项是非标准选项, 如有更改, 恕不另行通知。
3. java参数与默认值
使用 -XX:+PrintFlagsFinal 参数可以输出所有参数的名称及默认值。
java -XX:+PrintFlagsFinal
4. JVM 常用的参数、Flags
参数:
-server 选择 "server" VM
-cp <目录和 zip/jar 文件的类搜索路径>
-classpath <目录和 zip/jar 文件的类搜索路径>
用 ; 分隔的目录, JAR 档案
和 ZIP 档案列表, 用于搜索类文件。
-D<name>=<value>
设置系统属性
-verbose[:class|gc|jni]
启用详细输出
-version 输出产品版本并退出
-agentlib:<libname>[=<options>]
加载本机代理库 <libname>, 例如 -agentlib:hprof
另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
按完整路径名加载本机代理库
-javaagent:<jarpath>[=<options>]
加载 Java 编程语言代理, 请参阅 java.lang.instrument
-Xloggc:<file> 将 GC 状态记录在文件中 (带时间戳)
-Xms<size> 设置初始 Java 堆大小
-Xmx<size> 设置最大 Java 堆大小
-Xmn<size> 设置Java堆 新生代大小
-Xss<size> 设置 Java 线程堆栈大小 (对应Flag:ThreadStackSize 默认1MB JDK1.5+)
-Xnoclassgc 禁用类垃圾收集
Flags:
-XX:PermSize 指定永久代大小
-XX:MaxPermSize 指定最大永久代大小
-XX:SurvivorRatio 新生代中Eden与Survivor 的比例
-XX:GCTimeRatio GC时间占总时间的比率,仅使用Parallel Scavenge 收集器时有效
-Xnoclassgc 禁用类垃圾收集
-XX:+DisableExplicitGC 忽略来自System.gc()方法触发的垃圾收集。
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSPermGenSweepingEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=0
-XX:+CMSClassUnloadingEnabled
-XX:-CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=70
-XX:SoftRefLRUPolicyMSPerMB=0
-XX:+PrintClassHistogram
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGCApplicationStoppedTime
-Xloggc:/opt/logs/<services>/gc.log
调试选项
-XX:+HeapDumpOnOutofMemoryError
-XX:+PrintFlagsFinal
5. 一个标准的8核CPU的JVM服务配置
* 内存配置为2g,web服务推荐为4G,RMI服务如果没有大量数据缓存,推荐2G以上
* gc日志必须打开
-server
-Xms2048M
-Xmx2048M
-Xmn512M
-XX:PermSize=256M
-XX:MaxPermSize=256M
-XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=7
-Xss1m
-XX:GCTimeRatio=19
-Xnoclassgc
-XX:+DisableExplicitGC
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSPermGenSweepingEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=0
-XX:+CMSClassUnloadingEnabled
-XX:-CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=70
-XX:SoftRefLRUPolicyMSPerMB=0
-XX:+PrintClassHistogram
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGCApplicationStoppedTime
-Xloggc:/opt/logs/<services>/gc.log
高级JVM参数
-XX:HeapDumpPath=/tmp/dis-search.hprof
-XX:+HeapDumpOnOutOfMemoryError
####参考资料