参数类别
|
参数项
|
说明
|
标准参数(-,所有的JVM实现都必须实现这些参数的功能,而且向后兼容)
|
-client
|
以client模式启动jvm,这种方式启动速度快,但运行时性能和内存管理效率不高,适合客户端程序或者开发调试。
|
-server
|
以server模式启动jvm,与client情况恰好相反。适合生产环境。64位的jvm自动以server模式启动。
|
-classpath
-cp
|
告诉jvm类搜索路径。如果指定了-classpath,则jvm就忽略CLASSPATH中指定的路径。各路径之间以分号隔开。如果-classpath和CLASSPATH都没有指定,则jvm从当前路径寻找class。
Jvm搜索class的方式和顺序为:Bootstrap(jvm自带的)->Extension(JRE_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,用来替换jdk的rt.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。并行是指有独立的线程进行gc,gc时不会打断应用线程。
|
-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
|
跟踪类的卸载信息
|
相关推荐
### JVM配置参数详解 在Java虚拟机(JVM)的运行过程中,通过一系列的命令行参数,我们可以调整其性能和行为。以下是对JVM部分关键配置参数的详细解析,这些参数能够帮助我们优化应用程序的执行效率,管理内存,...
### 常用JVM配置参数详解 #### 一、概述 Java虚拟机(JVM)是运行Java程序的核心环境,其性能的优劣直接影响到Java应用程序的执行效率...在实际应用中,建议根据具体的应用场景灵活调整JVM参数,以达到最佳的运行效果。
JVM参数设置是Java应用程序优化的关键环节,直接影响到程序的性能和稳定性。下面将详细解释提供的JVM参数及其对性能的影响。 1. **堆大小设置**: - `-Xmx` 和 `-Xms` 用于设定JVM的最大堆(`Max Heap Size`)和最小...
#### 如何获取JVM参数配置信息 可以通过命令行方式获取JVM的所有参数配置信息。例如,在Windows平台上,通过`cmd`进入`J2SDK`安装目录下的`bin`目录,运行以下命令: ```batch java -X ``` 这会显示包括`java.exe...
(中英文)JVM 参数详解,用心整理成Excel文档。包含所有近100条JVM参数的详细说明及设置方法,中英文对照,极方便阅读。转载请标明我这的源地址:http://download.csdn.net/download/xiucaiyao/10257573
在了解具体参数之前,首先需要知道如何查看可用的JVM参数及其说明。以下是在Windows平台上的示例步骤: 1. **打开CMD命令提示符**:点击开始菜单 -> 所有程序 -> Java -> Java SDK -> Command Prompt。 2. **切换到...
本系列课程从JVM基础到高级实战,老师手把手教你如何进行JVM...1.3JVM参数设置思路1.4JVM调优常用指令说明 第七节:JVM项目实战 1.1案例背景 1.2排查步骤 1.3.arthas 1.3.1.arthas简介 1.3.2.arthas实战 1.3总结
将机器的JVM参数设置到最优 一般的Java都不需要进行JVM优化 减少代码层面造成的GC问题(STW) 减少使用全局变量、大对象以及减少创建对象的数量 通过代码解决GC情况比优化JVM参数更好 架构和代码调优等级优先于JVM...
以下是对JVM参数配置的详细说明: 1. **堆内存配置**: - `-Xms`:设置JVM启动时分配的初始堆内存大小。 - `-Xmx`:设置JVM可使用的最大堆内存大小。 - `-Xmn`:设置年轻代(Young Generation)的大小,年轻代是...
本教程详细介绍了JVM(Java虚拟机)的结构、类型和编译器模式、参数分类、即时编译器(JIT)诊断工具、垃圾回收机制、内存调优方法,以及并行和CMS垃圾回收器的优化策略。重点内容包括: JVM类型和编译器模式:...
### JVM -XX 参数详解 #### 功能开关参数 在深入探讨JVM的-XX参数之前,我们首先要明白,这些参数主要是用于微调JVM的行为,适用于开发者或系统管理员在特定场景下进行性能优化或问题诊断。下面,我们将详细介绍...
介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。 第四课 GC的算法和种类 引用计数 标记清除 复制算法 标记压缩 可触及性 本章是理论性较强的一章,主要介绍GC的基本算法和思想,本...
本节介绍的JVM参数如下: | 参数 | 说明 | |----------------|----------------------------------------------------------| | `-version` | 打印JVM版本信息 | | `-showversion` | 打印版本信息并执行程序 | | `-...
- **JVM参数**:为了更好地控制JVM的行为,可以使用一系列命令行参数,如设置初始堆大小(-Xms)、最大堆大小(-Xmx)、启用特定的垃圾收集器(-XX:+UseG1GC)等。这些参数对于优化应用性能至关重要。 通过深入理解...
接下来,我们讨论Applet在HTML中的参数说明: - `CODE`标志:定义了Applet的类名,决定了哪个Java类会被执行。 - `CODEBASE`标志:指定了Applet的URL地址,可以是绝对地址或相对于HTML文件的相对路径。 - `ALT`标志...
#### 基本参数说明 1. **-client,-server** 这两个参数用于指定JVM的运行模式。`-client`模式适用于启动速度较快的应用场景,但性能和内存管理效率较低,通常用于桌面或轻量级客户端应用程序。相反,`-server`...
- `tomcat配置JVM.txt`应该是详细的JVM配置指南,提供了如何在Tomcat的启动脚本或者server.xml文件中添加和调整JVM参数的说明。 4. **垃圾收集和内存管理**: 了解不同类型的垃圾收集器,如Serial、Parallel、...