一、内存调整参数
-Xmx2g
设置堆内存最大值为2g
-Xmx512m
设置堆内存最大值为512m
-Xms1g
设置堆内存最小值1g(ps:-Xms和-Xmx实际上是 -XX:InitialHeapSize 和
-XX:MaxHeapSize 的缩写。例如:-XX:InitialHeapSize=128m -XX:MaxHeapSize=2g )
-Xmn
设置堆新生代的大小,例如:-Xmn512m
-XX:PermSize(jdk7有,jdk8没有)
设置Perm Generation的最小值,例如:-XX:PermSize=32m
-XX:MaxPermSize(jdk7有,jdk8没有)
设置Perm Generation的最大值,例如:-XX:MaxPermSize=64m
-XX:MetaspaceSize(jdk8的参数)
设置Metaspace的大小,默认值是21M,例如:-XX:MetaspaceSize=128M
-XX:MaxMetaspaceSize(jdk8的参数)
这个参数用于限制Metaspace增长的上限,防止因为某些情况导致Metaspace
无限的使用本地内存,如果超过设定的值就会触发Full GC,此值默认没有限制,
但应取决于系统内存的大小,JVM会动态地改变此值。例如:-XX:MaxMetaspaceSize=4096M
-XX:MinMetaspaceFreeRatio(jdk8的参数)
当进行过Metaspace GC之后,会计算当前Metaspace的空闲空间比,如果空闲比
小于这个参数,那么虚拟机将增长Metaspace的大小。在本机该参数的默认值为40,
也就是40%。设置该参数可以控制Metaspace的增长的速度,太小的值会导致
Metaspace增长的缓慢,Metaspace的使用逐渐趋于饱和,可能会影响之后类的加载。
而太大的值会导致Metaspace增长的过快,浪费内存。例如:-XX:MinMetaspaceFreeRatio=40
-XX:MaxMetasaceFreeRatio(jdk8的参数)
当进行过Metaspace GC之后, 会计算当前Metaspace的空闲空间比,如果空闲比大于这个参数,
那么虚拟机会释放Metaspace的部分空间。在本机该参数的默认值为70,也就是70%
例如:-XX:MaxMetasaceFreeRatio=70
-XX:MaxMetaspaceExpansion(jdk8的参数)
Metaspace增长时的最大幅度。例如:-XX:MaxMetaspaceExpansion=5M
-XX:MinMetaspaceExpansion(jdk8的参数)
Metaspace增长时的最小幅度。例如:-XX:MinMetaspaceExpansion=1M
-Xss
设置线程栈的大小,例如: -Xss128k
-XX:NewRatio
指定老年代的堆大小和新生代的堆大小比例,在使用CMS收集器时,
此参数失效,例如&