-XX:NewSize 设置新对象生产堆内存
-XX:MaxNewSize: 设置最大新对象生产堆内存
-XX:SurvivorRatio 设置新对象身缠堆内存的比例
-Xms 设置堆内存池的最小值
-Xmx 设置堆内存池的最大值
-xnoclassgc 取消垃圾回收
-Xss 设置栈内存的大小
-XX:+DisableExplicitGC标志自动将System.gc()调用转换成一个空操作,就是应用中调用System.gc()会变成一个空操作。最主要的原因是为了防止某些手贱的同学在代码里到处写System.gc()的调用而干扰了程序的正常运行吧。有些应用程序本来可能正常跑一天也不会出一次full GC,但就是因为有人在代码里调用了System.gc()而不得不间歇性被暂停
-XX:+UseParallelGC:选择垃圾收集器为并行收集器。此配置仅对年轻代有效。可以同时并行多个垃圾收集线程,但此时用户线程必须停止。
-XX:+UseParNewGC:设置年轻代为多线程收集。可与CMS收集同时使用。在serial基础上实现的多线程收集器
-XX:+PrintGCTimeStamps: 打印GC时的时间戳,距离程序启动时的时间
-XX:+PrintGCDetails: 打印GC详细信息
-Xloggc: GC日志输出的文件
-XX:+HeapDumpOnOutOfMemoryError 参数表示当JVM发生OOM时,自动生成DUMP文件
-XX:HeapDumpPath=${目录}参数表示生成DUMP文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_heapdump.hprof。如果不指定文件名,默认为:java_<pid>_<date>_<time>_heapDump.hprof
附一份完整的启动脚本
java -jar -server -Xms256m -Xmx256m -XX:SurvivorRatio=4 -XX:InitiatingHeapOccupancyPercent=75 -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:$APP_HOME/logs/gc.log -XX:+HeapDumpOnOutOfMemoryError xx.jar >> ${APP_HOME}/logs/app.out 2>&1 &
JVM 启动参数说明
最新推荐文章于 2025-07-14 07:26:54 发布