前言
- 每个虚拟机的参数可能会有所不同,下面参数都是针对HotSpot虚拟机的参数配置。
参数
- -XX:+/-UseTLAB 设置虚拟机是否使用TLAB(Thread Local Allocation Buffer)本地线程分配缓冲
- -XX:+PrintGCDetails 发生垃圾收集行为时打印内存回收日志,并在进程退出时输出当前的内存各区域分配情况
- 堆内存分配参数:
- 最大值参数:-Xmx、最小值参数:-Xms
- 新生代内存分配大小:-Xmn 。那么剩下的就是老年代的内存大小
- -XX:+HeapDumpOnOutOfMemoryError :让虚拟机在出现内存溢出异常时Dump出当前的内存堆转储快照以便事后分析。
- -XX:SurvivorRatio=8 :配置新生代中Eden区和一个Survivor区空间比例是8:1(默认值)新生代中有一个Eden、2个Survivor。eden和survivor在日志中打印的名称为enden space 、from space 、to space。
- 案例:设置堆大小为20MB,不可扩展,其中10MB分配给新生代,剩下10MB给老年代,Eden和一个Survivor去的空间比例为8:1
- -Xmx20M -Xms20M -Xmn10M -XX:SurvivorRatio=8
非堆内存
-XX:PermSize=64M JVM初始分配的非堆内存
-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配
栈容量
- -Xss2M:设置栈容量为2M
网友评论