文章摘自:The Java® Virtual Machine Specification
https://docs.oracle.com/javase/specs/jvms/se8/html/index.html
JVM参数 | 描述 |
JVM参数大小设置 | |
-Xms512m | 堆初始大小。默认为系统内存的1/64。 避免每次垃圾回收后JVM重新分配内存,建议与-Xmx相同 |
-Xmx768m | 堆最大可用值。默认为系统内存的1/64。 |
-XX:PermSize=128m | 非堆区初始内存分配大小。默认为系统内存的1/64。 |
-XX:MaxPermSize=512m | 非堆区分配的内存的最大上限。默认为系统内存的1/4。 |
-Xmn512m | 新生代堆最大可用值。一般设为整个堆的1/3到1/4左右 |
垃圾回收统计信息 | |
-XX:+PrintGC | 每次触发GC的时候打印相关日志 |
-XX:+PrintGCDetails | 更详细的GC信息 |
-XX:+PrintHeapAtGC | 打印GC前后的详细堆栈信息 |
-Xloggc:./gc.log | 打印GC信息到当前目录文件 |
打印内存OOM时打印日志 | |
-XX:+HeapDumpOnOutOfMemoryError | 参数表示当JVM发生OOM时,自动生成DUMP文件 |
-XX:HeapDumpPath=${目录} | OOM日志输出路径。${目录}参数表示生成DUMP文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_heapdump.hprof。如果不指定文件名,默认为:java____heapDump.hprof。 |
其他 | |
-XX:+TraceClassLoading | 打印类加载对应的文件路径 |