JVM中服务配置的虚拟机常用参数
程序员文章站
2024-02-21 21:55:16
...
-server --启用能够执行优化的编译器,显著提高服务器的性能
-Xmx4000M --堆最大值
-Xms4000M --堆初始大小
-Xmn600M --年轻代大小
-XX:PermSize=200M --持久代初始大小
-XX:MaxPermSize=200M --持久代最大值
-Xss256K --每个线程的栈大小
-XX:+DisableExplicitGC --关闭System.gc()
-XX:SurvivorRatio=1 --年轻代中Eden区与两个Survivor区的比值
-XX:+UseConcMarkSweepGC --使用CMS内存收集
-XX:+UseParNewGC --设置年轻代为并行收集
-XX:+CMSParallelRemarkEnabled --降低标记停顿
-XX:+UseCMSCompactAtFullCollection --在FULL GC的时候,对年老代进行压缩,可能会影响性能,但是可以消除碎片
-XX:CMSFullGCsBeforeCompaction=0 --此值设置运行多少次GC以后对内存空间进行压缩、整理
-XX:+CMSClassUnloadingEnabled --回收动态生成的代理类 SEE:http://*.com/questions/3334911/what-does-jvm-flag-cmsclassunloadingenabled-actually-do
-XX:LargePageSizeInBytes=128M --内存页的大小不可设置过大, 会影响Perm的大小
-XX:+UseFastAccessorMethods --原始类型的快速优化
-XX:+UseCMSInitiatingOccupancyOnly --使用手动定义初始化定义开始CMS收集,禁止hostspot自行触发CMS GC
-XX:CMSInitiatingOccupancyFraction=80 --使用cms作为垃圾回收,使用80%后开始CMS收集
-XX:SoftRefLRUPolicyMSPerMB=0 --每兆堆空闲空间中SoftReference的存活时间
-XX:+PrintGCDetails --输出GC日志详情信息
-XX:+PrintGCApplicationStoppedTime --输出垃圾回收期间程序暂停的时间
-Xloggc:$WEB_APP_HOME/.tomcat/logs/gc.log --把相关日志信息记录到文件以便分析.
-XX:+HeapDumpOnOutOfMemoryError --发生内存溢出时生成heapdump文件
-XX:HeapDumpPath=$WEB_APP_HOME/.tomcat/logs/heapdump.hprof --heapdump文件地址