对虚拟机参数的配置,主要围绕堆、栈、方法区进行配置。
说明:
① -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虚拟机参数详解Java虚拟机参数详解Java虚拟机参数详解Java虚拟机参数详解Java虚拟机参数详解Java虚拟机参数详解Java虚拟机参数详解Java虚拟机参数详解Java虚拟机参数详解
heap space,-Xmx512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:MaxPermSize=512m
Java虚拟机参数配置说明
jvm虚拟机参数调优,tomcat调优,内含代码测试,性能测试讲解
详细介绍java 虚拟机的相关参数设置和作用
jvm java虚拟机 Mycelipse内存不足
JVM参数设置、分析,介绍JVM、GC的一些重要参数的设置来提高系统的性能。
本文档是Java虚拟机性能参数调优指导书;...本文通过对JAVA虚拟机的运行机理的分析,以及JAVA虚拟机参数使用说明等描述,试图使读者能够更好的运行他的基于JAVA的应用系统,以最小的代价换取最大的收益。
ava.exe -X 参数信息 <br>-X参数是非标准参数。 -Xmixed 混合模式执行 (默认) -Xint 只用解释模式执行 -Xbootclasspath:;> 为类(classes)和资源(resources)的引导启动设置搜索路径 -...
NULL 博文链接:https://caoxudong818.iteye.com/blog/1214133
虚拟机的相关参数设置与调优,介绍了一些jvm的体系结构,垃圾回收的方法,java对象的生命周期与分代。
在云计算中创建虚拟机需要自定义相应的配置参数,现在通过规范的OVF包来创建模板,通过模板来创建统一配置参数的并且满足所有操作系统的虚拟机,涉及将第三方制作的OVA压缩文件进行解压并记录OVF记录,并对未注册...
Java虚拟机提供了参数 -Xss 来指定线程的最大栈空间,这个参数也直接决定了函数调用的最大深度-Xmx:系统最大可用堆空间。
系统命令 JAVA_HOME\bin\java –option 来启动,-option 为虚拟机参数,JAVA_HOME 为JDK 安装路径,通过这些参数可对虚拟机的运行状态进行调整,掌握参数的含义可对虚拟机的运 行模式有更深入理解。 文章出处:...
java虚拟机配置 配置分析、优化
接 现有条件:安装了Windows XP电脑并已安装好VMware 第一步:启动VMware点击"新建虚拟机"新建一台虚拟机参数如下: 虚拟机名称:Windows 2000 Profeional 虚拟机内存:192MB 虚拟机硬盘类型:IDE 虚拟机硬盘大小:4GB...
接 现有条件:安装了Windows XP电脑并已安装好VMware 第一步:启动VMware点击"新建虚拟机"新建一台虚拟机参数如下: 虚拟机名称:Windows 2000 Profeional 虚拟机内存:192MB 虚拟机硬盘类型:IDE 虚拟机硬盘大小:4GB...
针对网络对拷后在桥接网络模式下多虚拟机之间的MAC地址冲突及计算机重名问题,提出了虚拟机初始参数的自动配置...实验结果表明,该方法可有效地避免网络对拷后虚拟机之间初始参数冲突,确保虚拟机参数在网络中的唯一性。
用于在虚拟机上安装QNX操作系统,包括如何设置虚拟机参数等;内含QNX操作系统的序列号.
创建android 模拟器时各个参数的说明。