JVM的参数以及作用详解
-XX:+PrintCommandLineFlags? ?打印出JVM运行时的各种的各项配置参数 -verbose:gc? ?发生GC时,打印出GC日志 -XX:+PrintGCDetails 打印GC的详细日志,并且在程序运行结束是会打印出JVM的内存占用情况 -XX:+PrintGCDateStamps 打印GC发生的时间 -XX:+PrintGCTimeStamps? ?打印GC发生的时间,相对JVM启动的时间 -Xloggc:d:gc.log gc日式默认是打印在控制台,添加这个参数可以指定GC日志的输出位置,指定后控制台就无法查看GC日志了 -XX:+PrintHeapAtGC 每次一次GC后,都打印堆信息? -XX:+TraceClassLoading 监控类的加载 -Xmx 指定最大堆内存 –Xms? 指定最小堆内存 -Xmn 设置新生代大小 -XX:+HeapDumpOnOutOfMemoryError OOM时导出堆到文件 -XX:OnOutOfMemoryError 在OOM时,执行一个脚本"-XX:OnOutOfMemoryError=D:/tools/jdk1.7_40/bin/printstack.bat %p“当程序OOM时,在D:/a.txt中将会生成线程的dump可以在OOM时,发送邮件,甚至是重启程序 XX:PermSize 设置永久区的初始空间 -Xss 指定栈的大小 -XX:+UseSerialGC? 新生代、老年代使用串行回收,新生代复制算法,老年代标记-压缩 -XX:+UseParNewGC 新生代并行,老年代串行,Serial收集器新生代的并行版本,复制算法,多线程,需要多核支持 -XX:MaxGCPauseMills 最大停顿时间,单位毫秒,GC尽力保证回收时间不超过设定值 -XX:+UseConcMarkSweepGC Concurrent Mark Sweep 并发标记清除,老年代收集器(新生代使用ParNew) -XX:+ UseCMSCompactAtFullCollection Full GC后,进行一次整理,整理过程是独占的,会引起停顿时间变长-XX:+CMSFullGCsBeforeCompaction 设置进行几次Full GC后,进行一次碎片整理-XX:ParallelCMSThreads 设定CMS的线程数量-XX:+CMSClassUnloadingEnabled:允许对类元数据进行回收-XX:UseCMSInitiatingOccupancyOnly:表示只在到达阀值的时候,才进行CMS回收 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |