你平时工作用过的JVM常用基本配置参数有哪些?

基础知识

你平时工作用过的JVM常用基本配置参数有哪些?

case

你平时工作用过的JVM常用基本配置参数有哪些?

常用参数

-Xms

初始化大小内存,默认为物理内存1/64

等价于-XX:InitialHeapSize

-Xmx

最大分配内存,默认物理内存的1/4

等价于-XX:MaxHeapSize

-Xss

设置单个线程栈的大小,一般默认为512K~1024K

等价于-XX:ThreadStackSize

  1. -XX:ThreadStackSize = 0 , 表示使用默认512K~1024K
  2. -XX:ThreadStackSize != 0 , 表示使用自己设置的

-Xmn

设置年轻代大小,一般不需要改动

-Xms128m -Xmx4096m -Xss1024k -XX:MetaSpaceSize=512m -XX:+PrintCommandFlags -XX:+PrintGCDetails -XX:+UseSerialGC

-XX:MetaspaceSize

元空间的本质和永久代类似,都是对JVM规范中方法区的实现。

不过元空间与永久代之间最大的区别在于:

  • 永久代在堆里面
  • 元空间并不在虚拟机中,而是使用本地内存。
    因此,在默认情况下,元空间的大小仅受本地内存限制

eg:

Xms10m -Xmx10m -XX:MetaspaceSize=1024m -XX:+PrintFlagsFinal

初始值约21M,也就是说只占用本地内存的21M,如果你频繁的new对象,有可能就会把元空间撑爆从而发生元空间异常,因此需要调大一些

-XX:+PrintGCDetails

GC

你平时工作用过的JVM常用基本配置参数有哪些?

FullGC

你平时工作用过的JVM常用基本配置参数有哪些?

-XX:SurvivorRatio (了解)

你平时工作用过的JVM常用基本配置参数有哪些?

你平时工作用过的JVM常用基本配置参数有哪些?

-XX:NewRatio (了解)

你平时工作用过的JVM常用基本配置参数有哪些?

-XX:MaxTenuringThreshold (了解)

设置垃圾的最大年龄

你平时工作用过的JVM常用基本配置参数有哪些?

jvm典型配置案例

-Xms128m -Xmx4096m -Xss1024k -XX:MetaspaceSize=512m -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:+UseSerialGC

输出结果

-XX:InitialHeapSize=134217728 
-XX:MaxHeapSize=4294967296 
-XX:MetaspaceSize=536870912 
-XX:+PrintCommandLineFlags 
-XX:+PrintGCDetails 
-XX:ThreadStackSize=1024 
-XX:+UseCompressedClassPointers 
-XX:+UseCompressedOops 
-XX:-UseLargePagesIndividualAllocation 
-XX:+UseSerialGC 
HelloGC
Heap
 def new generation   total 39296K, used 2796K [0x00000006c0000000, 0x00000006c2aa0000, 0x0000000715550000)
  eden space 34944K,   8% used [0x00000006c0000000, 0x00000006c02bb048, 0x00000006c2220000)
  from space 4352K,   0% used [0x00000006c2220000, 0x00000006c2220000, 0x00000006c2660000)
  to   space 4352K,   0% used [0x00000006c2660000, 0x00000006c2660000, 0x00000006c2aa0000)
 tenured generation   total 87424K, used 0K [0x0000000715550000, 0x000000071aab0000, 0x00000007c0000000)
   the space 87424K,   0% used [0x0000000715550000, 0x0000000715550000, 0x0000000715550200, 0x000000071aab0000)
 Metaspace       used 3084K, capacity 4496K, committed 4864K, reserved 1056768K
  class space    used 335K, capacity 388K, committed 512K, reserved 1048576K
  • -XX:+UseSerialGC : 串行垃圾回收器
  • -XX:+UseParalleGC :并行垃圾回收器
上一篇:tomcat优化-调整JVM参数进行优化


下一篇:Flink 源码(十六):Flink 环境准备及提交流程(七)yarn-per-job 提交流程(五)