tomcat_garbage collection_log(垃圾回收日志)参数设置 待整理

这是tomcat下面catalina.bat文件的部分代码

@echo off
if "%OS%" == "Windows_NT" setlocal
set CATALINA_HOME=D:\Tomcat5_websearch

set HEAP=-Xms4096m -Xmx4096m
set PERMANENT_G=-XX:PermSize=128m -XX:MaxPermSize=128m
set YOUNG_G=-Xmn600m -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5
set CMS_GC=-XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+CMSParallelRemarkEnabled  -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=15
set NEW_GC=-XX:+UseParNewGC -XX:ParallelGCThreads=4
set RMIGC=-Dsun.rmi.dgc.server.gcInterval=86400000 -Dsun.rmi.dgc.client.gcInterval=86400000
set DUMP=-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%CATALINA_HOME%/logs/dump_tomcat.hprof
set GCLOG=-Xloggc:%CATALINA_HOME%/logs/gc_tomcat.log -XX:+PrintGCTimeStamps
set JAVA_OPTS=-server %HEAP% %PERMANENT_G% %YOUNG_G% %CMS_GC% %NEW_GC% %RMIGC% %DUMP% %GCLOG%

 

参数设置放在上面这个位置,这是我们系统的配置

//jvm最大可用内存

set HEAP=-Xms4096m -Xmx4096m 

//这里是对老年代内存的配置

set PERMANENT_G=-XX:PermSize=128m -XX:MaxPermSize=128m


//这里是对新生代内存的配置
   -Xmn的heap大小
   -XX:SurvivorRatio年轻代中Eden区与两个Survivor区的比值,8表示Eden:Survivor=8:2,,一个Survivor区占整个年轻代的1/10
   -XX:MaxTenuringThreshold 设置垃圾最大年龄  如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,

set YOUNG_G=-Xmn600m -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5


// 这里是对老生代采用并发标记收集器进行垃圾回收的配置   CMS_GC:ConcurrentMarkSweep 并发标记扫描收集器
   +UseConcMarkSweepGC 对老生代采用并发标记交换算法进行GC
   +DisableExplicitGC 禁止调用System.gc();但jvm的gc仍然有效
   +CMSParallelRemarkEnabled 在使用 UseParNewGC 的情况下 , 尽量减少 mark 的时间
   +UseCMSCompactAtFullCollection   打开对年老代的压缩。可能会影响性能,但是可以消除碎片
   CMSFullGCsBeforeCompaction=15 这里设置15次Full GC后,对年老代进行压缩
    CMS:ConcurrentMarkSweep 并发标记扫描

set CMS_GC=-XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=15


//  这里是对新生代采用并行收集器进行垃圾回收的配置    parallel collector 并行收集器 
    +UseParNewGC 指定新生代使用parallel collector
    ParallelGCThreads 线程数

set NEW_GC=-XX:+UseParNewGC -XX:ParallelGCThreads=4


//  这里是对RMI客户端和服务端的垃圾回收的间隔时间设置

Dsun.rmi.dgc.server.gcInterval 设置rmi的gc间隔时间,默认是每分钟进行一次gc,86400000是24小时gc一次

set RMIGC=-Dsun.rmi.dgc.server.gcInterval=86400000 -Dsun.rmi.dgc.client.gcInterval=86400000


// 这里是对当首次遭遇OOM时导出此时堆中相关信息的配置
    HeapDumpOnOutOfMemoryError 当首次遭遇OOM时导出此时堆中相关信息
    HeapDumpPath 指定导出堆信息时的路径或文件名

set DUMP=-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%CATALINA_HOME%/logs/dump_tomcat.hprof

 


// 这里是对tomcat垃圾回收日志的配置

set GCLOG=-Xloggc:%CATALINA_HOME%/logs/gc_tomcat.log -XX:+PrintGCTimeStamps

 

//把以上配置的参数全部设置进去

set JAVA_OPTS=-server %HEAP% %PERMANENT_G% %YOUNG_G% %CMS_GC% %NEW_GC% %RMIGC% %DUMP% %GCLOG%

 

基于jdk1.6

 

Sun JDK 16 GC ( Garbage Collector):http://www.docin.com/p-417999249.html

这篇博客介绍很详细: http://www.open-open.com/lib/view/open1324736648468.html

posted on 2013-06-13 10:53  lovebeauty  阅读(3153)  评论(0编辑  收藏  举报

导航