③. 查看JVM默认值
3>. 查看JVM默认值
你说你做过JVM调优和参数配置,请问如何盘点查看JVM系统默认值?
[重点]
①. jps jinfo -flag 具体参数 java进程编号
jinfo -flags java进行编号
②. java -XX:+PrintFlagsInitial
java -XX: + PrintFlagsFinal -version
java -XX:+PrintCommandLineFlags -version
④. 基本配置参数有哪些
4>. 基本配置参数有哪些
日常案列设置用如下即可:掌握
-Xms128m -Xmx128m Xss1024k -XX:MetaspaceSize=512 -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:+UseSerialGC
1.-Xms:初始大小内存,默认为物理内存1/64 等价于-XX:InitialHeapSize 2.-Xmx:最大分配内存,默认为物理内存1/4 等价于-XX:MaxHeapSize 3.-Xss:设置单个线程栈的大小,一般默认为512k- 1024k 等价于-XX:ThreadStackSize 4.-Xmn : 设置年轻代大小(一般使用默认值 ) 5.-XX:MetaspaceSize:设置元空间大小[这个参数一般会调大点,防止OOM] 6.-XX:MaxTenuringThreshold=15 7.-XX:+UseSerialGC 串行垃圾回收器 -XX:+UseParallelGC 并行垃圾回收器 8.-XX:+PrintGCDetails 输出详细GC收集日志信息
①. -XX:MetaspaceSize
1. -XX:MetaspaceSize
- 元空间的本质和永久代类似,都是堆JVM规范中方法区的实现,不过元空间与永久代之间最大的区别在于:元空间并不在虚拟机中,而是使用本地内存。因此默认情况下,元空间的大小受本地内存限制
②. -XX:+PrintGCDetails
2.-XX:+PrintGCDetails
public class jvmDemo1 { public static void main(String[] args) { byte[]bytesArray=new byte[50*1024*1024]; System.out.println("gc coming....."); } }
①. GC
②. Full GC
③. -XX:SurvivoRatio(了解)
3.-XX:SurvivoRatio
④. -XX:NewRatio(了解)
4.-XX:NewRatio
⑤. -XX:MaxTenuringThreshold
5.-XX:MaxTenuringThreshold(设置垃圾最大年龄)