一:jvm部分参数
举例
说明
-XX:+PrintGCDetails
查看java的gc详细细节
-XX:+PrintFlagsInitial
查看java的基础参数
-Xms20m
设置初始堆大小
-Xmx20m
设置最大堆大小
-Xmn10m
设置年轻代大小
-Xss
设置每个线程的栈大小
-XX:ThreadMaxSize
设置每个线程的栈大小
-XX:MetaspaceSize
设置元空间的大小
-XX:PrintCommandLineFlags
打印所有 XX 参数及值
-XX:UseParallelGC
使用并行垃圾回收器
XX:SurvivorRatio
Eden区与Survivor区的大小比值
-XX:NewRatio
年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)
-XX:MaxTenuringThreshold
垃圾最大年龄
二: jvm监控工具使用
jps -l //查看所有java进程号
jinfo -flags //查看java的初始化值
三:jvm使用java代码查看
//当前JVM占用的内存总数,其值相当于当前JVM已使用的内存及freeMemory()的总和
long totalMemory=Runtime.getRuntime().totalMemory();
//最大可用内存,对应-Xmx
long maxMemory=Runtime.getRuntime().maxMemory();
//当前JVM空闲内存
long freeMemory=Runtime.getRuntime().freeMemory();
//获取cpu的数目
int n=Runtime.getRuntime().availableProcessors();