jvm 常用参数
JDK版本:8
JVM常用参数
-Xms 初始堆内存大小(包括年轻代和年老代)
-Xmx 最大堆内存大小(包括年轻代和年老代,建议和-Xms配置成一样)
-Xmn 年轻代堆内存大小
-XX:MetaspaceSize 初始元空间内存大小(个人认为不需要配置,因为用不了这么多)
-XX:MaxMetaspaceSize 最大元空间内存大小(个人认为不需要配置,因为用不了这么多)
-XX:+UseConcMarkSweepGC 设置年老代使用CMS垃圾回收器(JDK8默认使用Parallel
Scavenge + Parallel Old进行垃圾回收,如果想使用CMS垃圾回收器,需要添加此配置)
-XX:+UseCMSInitiatingOccupancyOnly 开启<触发回收的阈值>属性
-XX:CMSInitiatingOccupancyFraction 设置触发回收的阈值(个人认为不需要配置,因为JVM占用的内存是程序启动时就分配好的,所以没必要留余地,用满了会触发GC)
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses 减少Full
GC STW时长
-XX:+CMSClassUnloadingEnabled 开启CMS垃圾回收器对永久代类元数据的回收
-XX:+ParallelRefProcEnabled 开启并发处理Reference对象
-XX:+CMSScavengeBeforeRemark 在标记前触发一次young gc
-verbose:class 打印JVM加载类的信息(只有类的全限定名和所在jar包名)
-XX:+HeapDumpOnOutOfMemoryError oom时自动生成dump文件**(重要)**
-XX:ErrorFile=/data/logs/hs_err_pid%p.log error日志文件保存路径
-Xloggc:/dev/shm/gc/gc.log GC日志文件保存路径
-XX:HeapDumpPath=/data/logs/ dump文件保存路径
-XX:+PrintGCDetails 打印GC详细信息
-XX:+PrintGCDateStamps 打印GC
-XX:+PrintClassHistogramBeforeFullGC full gc前打印类直方图
-XX:+PrintClassHistogramAfterFullGC full gc后打印类直方图
-XX:+PrintCommandLineFlags 打印自动化参数
-XX:+PrintGCApplicationConcurrentTime 打印两个安全点之间应用程序运行的时间
-XX:+PrintGCApplicationStoppedTime 打印两个安全点之间应用程序停止的时间
-XX:+PrintTenuringDistribution 打印对象岁数
-XX:+PrintHeapAtGC 每次gc后打印堆信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?