Jvm参数配置

一、非稳态选项使用说明

-XX:+<option> 启用option
-XX:-<option> 不启用option
-XX:<option>=<number> 设定option的值为数字类型,可跟单位,例如 32k, 1024m, 2g
-XX:<option>=<string> 设定option的值为字符串,例如-XX:HeapDumpPath=./dump.core

二、Java相关的JVM内存参数

-Xms :设置Java堆栈的初始化大小
-Xmx :设置最大的java堆大小
-Xmn :设置Young区大小
-Xss :设置java线程堆栈大小
-XX:PermSize and MaxPermSize :设置持久带的大小
-XX:NewRatio :设置年轻代和老年代的比值
-XX:NewSize :设置年轻代的大小
-XX:SurvivorRation=n :设置年轻代中E去与俩个S去的比值

三、打印垃圾回收器信息和设置垃圾回收器(串行、并行、并发等行为的收集器)

-verbose:gc :记录GC运行以及运行时间,一般用来查看GC是否有瓶颈
-XX:+PrintGCDetails :记录GC运行时的详细数据信息,包括新生占用的内存大小及消耗时间
-XX:-PrintGCTimeStamps :打印收集的时间戳
-XX:+UseParallelGC :使用并行垃圾收集器
-XX:-UseConcMarkSweepGC :使用并发标志扫描收集器
-XX:-UseSerialGC :使用串行垃圾收集器
-Xloggc:filename :设置GC记录的文件
-XX:+UseGCLogFileRotation :启用GC日志文件的自动转储
-XX:GCLogFileSize=1M :控制GC日志文件的大小

四、调试参数

-Xdebug
-Xnoagent
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
-XX:HeapDumpPath=./java_pid.hprof :Path to directory or file name for heap dump.
-XX:-PrintConcurrentLocks :Print java.util.concurrent locks in Ctrl-Break thread dump.
-XX:-PrintCommandLineFlags :Print flags that appeared on the command line.

五、关于性能

-Xprof
-Xrunhprof

六、类加载和卸载的信息

Xbootclasspath :指定需要加载,但不想通过校验类路径。
JVM会对所有的类在加载前进行校验并为每个类通过一个int数值来应用
-XX:+TraceClassLoading :跟踪类加载的信息(诊断内存泄露很有用)
-XX:+TraceClassUnloading :跟踪类卸载的信息(诊断内存泄露很有用)

七、jvm测试案例

1)首先配置VM arguments

2)案例

3)运行程序后,GC日志就可以打印出来了

DefNew(年轻代)
    年轻代分三个区。一个Eden区,两个Survivor区。大部分对象在Eden区中生成。当Eden区满时,还存活的对象将被复制到Survivor区(两个中的一个),当这个Survivor区满时,此区的存活对象将被复制到另外一个Survivor区,当这个Survivor区也满了的时候,从第一个Survivor区复制过来的并且此时还存活的对象,将被复制“年老区(Tenured)”。需要注意,Survivor的两个区是对称的,没先后关系,所以同一个区中可能同时存在从Eden复制过来对象,和从前一个Survivor复制过来的对象,而复制到年老区的只有从第一个Survivor区过来的对象。而且Survivor区总有一个是空 的。
Tenured(年老代)
    年老代存放从年轻代存活的对象。一般来说年老代存放的都是生命期较长的对象。
Perm(持久代)
    用于存放静态文件,持久代对垃圾回收没有显著影响,持久代大小通过-XX:MaxPermSize=<N>进行设置。

时间: 2024-10-13 21:09:42

Jvm参数配置的相关文章

线上机器JVM参数配置

记录一下线上机器的JVM参数配置: CATALINA_OPTS="$CATALINA_OPTS -server -Djava.awt.headless=true -Xms2560m [JVM初始分配的堆内存 2.5G]-Xmx2560m [JVM最大可用堆内存 2.5G]-Xss256k [每个线程的堆栈大小]-XX:PermSize=128m [永久代大小]-XX:MaxPermSize=384m [永久代最大值]-XX:NewSize=1024m [新生代初始内存大小]-XX:MaxNewS

一个性能较好的jvm参数配置以及jvm的简介

一个性能较好的web服务器jvm参数配置: -server //服务器模式 -Xmx2g //JVM最大允许分配的堆内存,按需分配 -Xms2g //JVM初始分配的堆内存,一般和Xmx配置成一样以避免每次gc后JVM重新分配内存. -Xmn256m //年轻代内存大小,整个JVM内存=年轻代 + 年老代 + 持久代 -XX:PermSize=128m //持久代内存大小 -Xss256k //设置每个线程的堆栈大小 -XX:+DisableExplicitGC //忽略手动调用GC, Syst

JVM参数配置大全[转]

转自:here /usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -XX:GCTimeRatio=19 -Xnoclassgc -XX:+DisableExplicitGC -X

一个性能较好的JVM参数配置

一个性能较好的web服务器jvm参数配置: -server//服务器模式-Xmx2g //JVM最大允许分配的堆内存,按需分配-Xms2g //JVM初始分配的堆内存,一般和Xmx配置成一样以避免每次gc后JVM重新分配内存.-Xmn256m //年轻代内存大小,整个JVM内存=年轻代 + 年老代 + 持久代-XX:PermSize=128m //持久代内存大小-Xss256k //设置每个线程的堆栈大小-XX:+DisableExplicitGC //忽略手动调用GC, System.gc()

JVM内存模型与JVM参数配置

前言:生产服务器内存使用过高预警,为了解决预警,重启了服务器:之后做总结: 事件过程:收到报警之后,查看日志信息,判断和前段时间的业务量并没有什么大的变化:又查看了下内存的使用情况,发现在一点点的上升:后续查看启动参数时,对于启动参数的配置,有一些疑义: 因此,对JVM内存模型与JVM参数配置进行一下记录: JVM内存结构 由上图可以清楚的看到JVM的内存空间分为3大部分: 堆内存 方法区 栈内存 其中栈内存可以再细分为java虚拟机栈和本地方法栈,堆内存可以划分为新生代和老年代,新生代中还可以

JVM参数配置&amp;&amp;命令工具

JVM参数配置 大致方向:JVM调优的目的是保证在一定吞吐量的情况下尽可能的减少GC次数,从而减少系统停顿时间,提高服务质量和效率. 其中减少GC次数的原则: 将新生代转换成老年代的数量降至最少(及时进行Minor GC回收新生代) 减少Full GC 次数 常用参数 -XX:+PrintGCDetails:打印GC的详细信息(冒号之后的+表示打印,-表示不打印) -XX:+UseSerialGC : 使用串行回收器 -Xmx4000m :指定堆最大值为4000M( 等价于-XX:MaxHeap

JVM性能优化--JVM参数配置,使用JMeter简单测试配合说明参数调优

一.JVM参数配置 1.常见参数配置 -XX:+PrintGC 每次触发GC的时候打印相关日志 -XX:+UseSerialGC 串行回收 -XX:+PrintGCDetails 更详细的GC日志 -Xms 堆初始值 -Xmx 堆最大可用值 -Xmn 新生代堆最大可用值 -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例. -XX:NewRatio 配置新生代与老年代占比 1:2 含以-XX:SurvivorRatio=eden/from=den/to 总

JVM参数配置详解

1. JVM中的年轻代,年老代和持久代区别与联系 JVM中的GC算法采用的是分代收集的策略,即将内存分为几个区域,将不同生命周期的对象放在不同区域里.如下所示: (1)在GC收集的时候,频繁收集生命周期短的区域(年轻代): (2)比较少的收集生命周期比较长的区域(年老代): (3)基本不收集的永久区(持久代). 年轻代分为1个Eden区和2个Survivor区,新建对象都保存在Survivor区中.当Eden区满则进行Minor GC,将Eden区和一个Survivor区清理到年老代中.这时不能

JVM 参数配置

JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xmn512m -Xss256k -XX:PermSize=256m -XX:MaxPermSize=256m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseCMSCompactAtFullCollection -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFr