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