对虚拟机参数的配置,主要围绕堆、栈、方法区进行配置。
说明:
① -XX:系统级别的(JVM)配置,配置日志信息,或者是jvm使用什么样的垃圾回收器
② 非-XX:应用层的配置
③“+”:表示启用
④“-”:表示禁用
1、堆参数配置
(1)基本参数配置
-XX:+PrintGC 使用该参数,虚拟机启动后,遇到GC就会打印日志
-XX:+UseSerialGC 配置串行垃圾回收器
-XX:+PrintGCDetails 查看详细信息,包括各个区的情况
-XX:+PrintCommandLineFlags 可以将隐式或者显式传给虚拟机的参数输出
-Xms 设置Java程序启动时初始堆大小
-Xmx 设置Java程序能够获得的最大堆大小
示例:-Xms5m -Xmx20m
注意:
在实际工作中,直接将初始堆大小与最大堆大小设置相等,这样的好处减少程序运行时垃圾回收的次数,从而提高性能。
(2)新生代,老年代参数配置
-Xmn 设置新生代的绝对大小,设置一个比较大的新生代会减少老年代的大小,这个参数对系统的性能以及GC行为有很大的影响,新生代的大小一般会设置整个堆空间的1/3或1/4。
-XX:SurvivorRatio 用来设置eden空间和from/to空间的比例。含义:-XX:SurvivorRatio=eden/from=eden/to
-XX:NewRatio 用来设置老年代与新生代的比值。含义:-XX:NewRatio=老年代/新生代
注意:
不同的堆分布情况,对系统的执行会产生一定的影响,实际工作中应该根据实际情况作出合理配置。基本原则:尽量将对象预留在新生代,减少老年代GC的次数。
(3)堆溢出处理
Java程序运行的过程中如果堆空间不足,则会抛出内存溢出错误(OutOfMemoryError),该情况出现在生产环境,可能引起严重的业务中断。虚拟机提供一下参数跟踪错误信息:
-XX:+HeapDumpOnOutOfMemoryError 该参数在内存溢出时导出整个堆的信息
-XX:+HeapDumpPath 配置堆信息导出存放的路径
内存分析工具:Memory Analyzer1.5.0
2、栈配置
-Xss 指定线程最大的栈空间,这个参数也决定了函数可调用的最大深度。
3、方法区配置
方法区也称为永久区,使用如下参数对方法区进行配置
-XX:MaxPermSize
-XX:PermSize
示例:-XX:MaxPermSize=64m -XX:PermSize=64m
4、直接内存配置
直接内存也是java内存中非常重要的组成部分,广泛应用与NIO中,直接内存跳过了java堆,使得java程序直接访问原生堆空间,因此,一定程度上加快了内存空间的访问速度。但是,直接内存一定能够提高内存的访问速度也是不一定的,具体情况具体分析。
配置参数:
-XX:MaxDirectMemorySize 如果不设置默认值为最大堆空间,即-Xmx。
直接内存使用达到了上限就会触发垃圾回收,如果不能有效释放空间,会引发OOM。
相关推荐
本文将围绕"java虚拟机参数配置"这一主题展开讨论,重点解析Heap Space与PermGen Space的配置细节。 ### Heap Space Heap Space是Java堆内存的一部分,用于存储对象实例。当Java程序启动时,JVM会为每个进程分配一...
Java虚拟机参数详解 Java虚拟机参数是Java虚拟机的核心组件之一,对Java应用程序的性能和稳定性产生着至关重要的影响。Java虚拟机参数可以分为基本参数和扩展参数两类,基本参数用于设置虚拟机的运行模式和类搜索...
首先,Java虚拟机参数配置是优化JVM性能的关键步骤。Java程序在启动时可以设置一系列参数,这些参数分为两种类型:标准(也称为官方)参数以“-X”或“-XX:”开头,非标准参数以“-D”开头。标准参数通常涉及JVM的...
【虚拟机参数配置】 在Java开发中,JVM(Java Virtual Machine)的参数配置对于系统的性能至关重要。JVM参数设置主要包括内存分配、垃圾收集(GC)策略等方面,目的是优化程序运行,减少因垃圾回收导致的程序中断,...
本篇文章将详细解析Java虚拟机的一些关键参数及其作用,帮助开发者更好地理解和优化JVM的性能。 1. **-XX:+<option> 和 -XX:-** 这两种选项分别用于启用或禁用特定的JVM特性。例如,`-XX:+AllowUserSignalHandlers...
JAVA虚拟机参数分类说明** 3.1 Java虚拟机标准参数 这些参数通常以"-X"或"-XX:"开头,例如-Xms指定初始堆大小,-Xmx指定最大堆大小。标准参数涵盖了堆内存、栈内存、方法区、线程、垃圾收集等各个方面的设置。 3.2...
本文将深入探讨Java HotSpot虚拟机的部分参数及其作用,帮助开发者更好地理解和调整JVM的配置,以优化应用程序性能。 一、JVM启动参数类型 Java HotSpot虚拟机的参数可以分为三类: 1. 标准选项(-X):由Sun ...
#### JAVA虚拟机参数分类说明 JVM参数主要分为标准参数和扩展参数两大类。标准参数包括-Xms、-Xmx用于设置初始和最大堆内存大小,-XX:NewRatio配置新生代与老年代的比例等。扩展参数则更为细致,如-XX:+...
3. **JAVA虚拟机参数分类说明** - **Java虚拟机标准参数**:标准参数通常以"-D"或"-X"开头,例如-Xms和-Xmx设置堆内存初始大小和最大大小,-XX:InitialCodeCacheSize设定代码缓存的初始大小。这些参数直接影响JVM的...
"java虚拟机(jvm)介绍以及相关参数设置与调优" Java虚拟机(JVM)是Java平台的核心组件之一,它提供了一个运行Java字节码的环境,并且负责管理Java程序的内存分配和垃圾回收。在本文中,我们将深入探讨Java虚拟机...
- 使用模板创建虚拟机可以确保所有基于该模板创建的虚拟机具有相同的配置参数,从而提高效率并减少配置错误的风险。 2. **解压OVA文件:** - OVA(Open Virtual Appliance)文件是OVF包的一种压缩格式,它将所有...
ava.exe -X 参数信息 <br>-X参数是非标准参数。 -Xmixed 混合模式执行 (默认) -Xint 只用解释模式执行 -Xbootclasspath:;> 为类(classes)和资源(resources)的引导启动设置搜索路径 -...
安装过程中,可能会涉及到配置虚拟机参数,如内存大小、处理器核心分配等,以确保虚拟机能够顺畅运行。 使用Android虚拟机在Windows上运行Android应用有以下几个关键知识点: 1. **虚拟化技术**:虚拟机依赖于虚拟...
jinfo命令用于显示或修改Java虚拟机参数。它可以查看当前虚拟机配置参数的值,也可以在Java程序运行时动态修改参数。命令的基本格式为: ``` jinfo [options] ``` 其中,options可以是: - `-flag <name>`:打印...
- **创建新虚拟机**:在VNC界面中选择“创建新虚拟机”选项,按照向导的指引配置虚拟机参数,如CPU数量、内存大小、网络设置、安装源等。 - **选择操作系统**:由于我们的目标是安装麒麟V10,所以在操作系统选择时...
本实验报告的主要目的是指导学生使用虚拟机安装 Windows 2003 操作系统,整个实验过程分为多个步骤,包括创建虚拟机、设置虚拟机参数、安装操作系统、设置网络和硬件参数等。下面是对每个步骤的详细解释: 一、创建...
VMware的使用过程涉及创建新的虚拟机、配置虚拟机参数以及管理虚拟机的生命周期等步骤: 1. **创建虚拟机**:启动VMware后,你可以选择创建新的虚拟机。在这个过程中,你需要指定安装哪种操作系统,以及为虚拟机...
Java虚拟机(JVM)是Java程序运行的基础,它为每个线程分配一定的栈空间来存储局部变量、方法参数和运算结果。`-Xss`参数是Java虚拟机的一个重要选项,用于设置每个线程的栈内存大小。栈内存是线程私有的,每当线程...
3. **配置虚拟机参数**:根据上述配置建议调整虚拟机参数。 4. **挂载镜像文件**:将下载好的MAC虚拟机镜像文件挂载到虚拟机上。 5. **启动虚拟机**:完成以上步骤后,启动虚拟机即可开始安装MAC操作系统。 #### 五...