JVM内存参数详解以及配置调优(四)-GC日志
金蝶云社区-云社区用户D3466603
云社区用户D3466603
4人赞赏了该文章 354次浏览 未经作者许可,禁止转载编辑于2018年07月26日 14:15:40

JVM内存参数详解以及配置调优(三)-garbage collector 

在JVM启动时,在必要的时候,配置相关的GC参数,帮助进行性能诊断和分析:


a: -XX:+UseParallelGC 
指 定在 New Generation 使用 parallel collector, 并行收集 , 暂停 app threads, 同时启动多个垃圾回收 thread, 不能和 CMS gc 一起使用 . 系统吨吐量优先 , 但是会有较长长时间的 app pause, 后台系统任务可以使用此 gc 

b: -XX:ParallelGCThreads=<n> 
指定 parallel collection 时启动的 thread 个数 , 默认是物理 processor 的个数 , 

c: -XX:+UseParallelOldGC 
指定在 Old Generation 使用 parallel collector 

d: -XX:+UseParNewGC 
指定在 New Generation 使用 parallel collector, 是 UseParallelGC 的 gc 的升级版本 , 有更好的性能或者优点 , 可以和 CMS gc 一起使用

e: -XX:+CMSParallelRemarkEnabled 
在使用 UseParNewGC 的情况下 , 尽量减少 mark 的时间 

f: -XX:+UseConcMarkSweepGC 
指 定在 Old Generation 使用 concurrent cmark sweep gc,gc thread 和 app thread 并行 ( 在 init-mark 和 remark 时 pause app thread). app pause 时间较短 , 适合交互性强的系统 , 如 web server 

g: -XX:+UseCMSCompactAtFullCollection 
在使用 concurrent gc 的情况下 , 防止 memory fragmention, 对 live object 进行整理 , 使 memory 碎片减少 

h: -XX:CMSInitiatingOccupancyFraction=<n> 
指示在 old generation 在使用了 n% 的比例后 , 启动 concurrent collector, 默认值是 68, 如 :-XX:CMSInitiatingOccupancyFraction=70 

i: -XX:+UseCMSInitiatingOccupancyOnly 
指示只有在 old generation 在使用了初始化的比例后 concurrent collector 启动收集


JVM内存参数详解以及配置调优(四)-输出日志文件

2013年01月08日 11:30:22

阅读数:5026



在进行JVM内存分析时,可以将一些日志文件进行输出,帮助我们进行性能诊断,在JVM的启动参数中添加需要的参数即可:

-verbose:gc 输出一些GC信息

-XX:+PrintGCDetails  输出GC详细信息

-XX:+PrintGCTimeStamps  包含时间戳信息

-Xloggc:filename  输出GC信息到日志文件

 

综合前面所讲的所有调优参数,一个可能的JVM启动参数信息如下:

-server -verbose:gc -Xloggc:gc.log -XX:+PrintGCDetails  -XX:+PrintGCTimeStamps -XX:+UseParallelGC -XX:+UseParallelOldGC -Xmx1000M -Xms1000M -XX:PermSize=64M -XX:MaxPermSize=128M -XX:NewSize=640M -XX:MaxNewSize=640M   -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.10.34  -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false 

说明:
-XX:+UseParallelGC     (说明: 对于web server来说应该使用parallelgc,其throughput较大,但其pause time有可能大于1秒)
-XX:+UseParallelOldGC (说明major collection也使用multi thread)
 -Xmx1000M -Xms1000M -XX:PermSize=64M -XX:MaxPermSize=128M -XX:NewSize=640M -XX:MaxNewSize=640M   (说明:指定最大和最小的heap为相同)

相关热词: 在jvm jvm设置jvm 商用jvm 图解jvm 多态jvm

作者:席飞剑

链接:https://blog.csdn.net/xifeijian/article/details/8316278


图标赞 4
4人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0