1、相关配置
获取 Java 进程 JVM 参数的命令:jinfo -flags 进程号
Non-default VM flags:
-XX:CICompilerCount=12:要运行的编译器线程数
-XX:ConcGCThreads=5:并发gc将使用的线程数
-XX:G1HeapRegionSize=2097152:G1区域的大小
-XX:MarkStackSize=4194304:标记栈大小
-XX:MaxNewSize=2575302656:年轻代的最大值
-XX:MinHeapDeltaBytes=2097152:每次扩展堆的时候最小增长
-XX:+UseCompressedClassPointers:在64位VM中使用32位类指针。lp64_product表示标志在32位虚拟机中始终不变
-XX:+UseFastUnorderedTimeStamps:必须配合参数-XX:+UnlockExperimentalVMOptions使用,并且只能加在其后才能生效
Command line:
-XX:ErrorFile=/jvm_error.log:发送错误时保存错误数据的文件,default: ./hs_err_pid%p.log
-Xloggc:/jvm.log:设置GC日志路径,精确到具体文件,等价参数是-XX:+PrintGC -XX:+PrintGCTimeStamps
-Xss256k:线程栈的大小,默认1M,一般使用不了这么多,建议调小点256K差不多了
-Xmx4g:最大堆内存
-Xms4g:初始堆内存
-XX:+UseG1GC:开启G1收集器
-XX:MaxGCPauseMillis=150:设置GC的最大停顿时间。
-verbose:gc:跟踪GC,和PrintGC等价,跟踪类加载,可以使用-verbose:class
-XX:+PrintGCDetails:打印GC日志详情
-XX:+PrintGCDateStamps:在垃圾收集时打印日期戳(图中1)
-XX:+PrintGCTimeStamps:在垃圾收集时打印时间戳(图中2)
-XX:+PrintGCApplicationStoppedTime:打印应用程序停止的时间
-XX:+UseCompressedOops:在64位VM中使用32位对象引用。lp64_product表示标志在32位虚拟机中始终不变
-XX:+DisableExplicitGC:忽略来自System.gc()方法触发的垃圾收集,默认关闭