一些常用的JVM参数
- 标准参数,所有的JVM都支持(以"-"开头)
-X 非标 ,每个JVM都不同
-XX 不稳定参数,下一个版本可能消失
-XX:+DoEscapeAnalysis 逃逸分析
-XX:+EliminateAllocations 标量替换 --把这两个关闭(将前面的"+"替换为"-"),那么JVM就不会在栈上创建对象了
-XX:+UseTLAB 使用线程本地缓存 --把上面三个关闭,new出来的对象就直接分配在eden区了
-XX:+PrintGC 把GC过程打印出来。每发生一次GC都会打印出来
-XX:+PrintGCDetails 打印虚拟机的具体细节
-XX:+HeapDumpOnOutOfMemoryError 如果内存溢出就把堆中的信息打印出来
-XX:HeapDumpPath=C:\tmp\jvm.dump 把JVM溢出的信息打印到该目录下,结合上面的那个使用
-Xms10M -Xmx10M 第一个是启动时给堆分配的内存大小 后面那个是给堆分配的最大内存
-Xss128k 线程栈的大小 当数值小的时候,支持并发的数量越多,当数值越大 线程调用递归越深