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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM