`
flylynne
  • 浏览: 373655 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

 
阅读更多

 

@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%

 这是tomcat下面catalina.bat

 

(1) Tomcat中的设置

 

检查<Tomcat安装目录>/bin 下的 catalina.bat(Windows平台)或catalina.sh(Linux平台)中的 JAVA_OPTS参数是否设置了 –Dfile.encoding=GBK,若没有则需要在该文件中加上一行。

 

Windows平台:set JAVA_OPTS=%JAVA_OPTS% –Dfile.encoding=GBK

 

Linux平台: JAVA_OPTS="$JAVA_OPTS –Dfile.encoding=GBK"

 

“添加:-Djava.net.preferIPv4Stack=true

 

tomcat 的bin 目录下

linux 系统则修改catalina.sh文件

window 则修改 catalina.bat文件 ”

 

(2) Weblogic中的设置

 

应用服务器为Weblogic,要在 Weblogic目录 /user_projects/domains/mydomain下面的 startWebLogic.sh 文件中,JAVA_HOME = “ ” 下面一行增加:

 

JAVA_OPTIONS= "${JAVA_OPTIONS} -Dfile.encoding=GBK"

 

然后重启Weblogic即可。

 

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

//jvm最大可用内存

set HEAP=-Xms4096m -Xmx4096m 

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

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

 

实现指定获取IPv4的地址-Djava.net.preferIPv4Stack=true

 Xms 是指设定程序启动时占用内存大小,表现JVM Heap(堆内存)最小尺寸

 Xmx 是指设定程序运行期间最大可占用的内存大小,表现JVM Heap(堆内存)最大容许的尺寸

 Xss 是指设定每个线程的堆栈大小

 以上三个参数的设置都是默认以Byte 为单位的,也可以在数字后面添加 [k/K]或者[m/M]来表示KB 或者MB

-XX:PermSize=64MB设置最大非堆内存大小。(默认是物理内存的1/64)

-XX:MaxPermSize=256MB设置最大非堆内存大小。(默认是物理内存的1/4)

MaxPermSize缺省值和-server -client选项相干。

-server选项下默认MaxPermSize64m

-client选项下默认MaxPermSize32m

堆溢出 OutOfMemoryError:Heap space

需要调整 –Xms-Xmx的大小。

永久保存区域溢出   OutOfMemoryError:PermGen space

需要调整permsizeMaxPermSize的大小。

 

//这里是对新生代内存的配置
   -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%
分享到:
评论

相关推荐

    gc.tar.gz_garbage_garbage collection_回收站_垃圾回收

    总的来说,"gc.tar.gz_garbage_garbage collection_回收站_垃圾回收"涉及的主题是C/C++环境下的自动内存管理,特别是垃圾回收机制。这个压缩包可能包含了实现这一功能的源码、文档或者相关工具,对于理解和优化C/C++...

    slp-garbage collection.rar_garbage collection_slp垃圾回收_垃圾_系统级编程

    3. **垃圾收集算法**:不同的垃圾收集器使用不同的策略来确定和回收垃圾。常见的算法包括: - **标记-清除(Mark-Sweep)**:标记阶段标记所有可达对象,清除阶段回收未被标记的对象。 - **复制(Copying)**:将...

    Understanding_Java_Garbage_Collection_v4.pdf

    本文档是一份详细探讨Java垃圾回收机制及其影响的白皮书,标题为《Understanding Java Garbage Collection v4.pdf》,旨在帮助Java开发者和架构师理解垃圾回收器的应用行为、特性和机制,并在Java平台上选择和调整...

    高清完整版 The Garbage Collection Cookbook 垃圾回收算法手册

    The Garbage Collection Cookbook 垃圾回收算法手册

    garbage-classification-data-master_futurevnm_garbage-master_生活垃圾

    为了推动这一进程,研究人员和开发者们制作了一系列的数据集,其中,“garbage-classification-data-master_futurevnm_garbage-master_生活垃圾”是一个极具价值的资源,它提供了丰富的垃圾分类数据,旨在助力AI技术...

    Garbage Monitoring system_garbagecollection_arduino_monitiorings

    It automatically senses the garbage and informs local authority about the garbage overloading. It is IOT based project with utilizes arduino as its processing unit

    Understanding_Java_Garbage_Collection_v3

    垃圾收集(Garbage Collection, GC)是Java平台上应用程序行为不可或缺的一部分,但往往被误解。Java开发者需要理解GC的工作原理以及如何通过选择和调整收集器机制,乃至在应用架构选择上对运行时性能、可扩展性和...

    garbage_collector

    系统级编程的课程实验,实现内存的的自动回收管理。 这里需要声明的是,资源不是来自本人,资源来自网络。本着造福广大学生的目的。但是本人实在太菜,不知道如何设置资源分数为0,所以就设置为1. 另外,代码在vs...

    The Garbage Collection Cookbook(垃圾回收算法手册)(中文版)

    垃圾回收算法的经典著作之一,常见的垃圾回收算法 【中文版】 垃圾回收算法的经典著作之一,常见的垃圾回收算法 【中文版】

    Java Garbage Collection Study java 垃圾回收学习

    ### Java垃圾回收(Garbage Collection)深度解析 #### 核心概念与机制 Java垃圾回收(Garbage Collection,简称GC)是Java运行时环境(JRE)中的一个关键特性,它自动管理对象的生命周期,释放不再使用的对象所...

    The Garbage Collection Handbook(垃圾回收器手册).7z

    《垃圾回收器手册》是一本深入探讨Java平台中垃圾回收机制的专业书籍。在Java编程语言中,内存管理是一项核心任务,而垃圾收集是自动内存管理的关键组成部分。它负责识别并释放那些不再使用的对象所占用的内存空间,...

    lab_garbage_collector

    CMU的垃圾回收实验(IN C) 1.这个实验由我主讲,我制作了PPT,包含三种思路, 2.并提供其中最重要也是最简单的扫描Stack Frame的源码。 3.此外,有整体思考的思维导图,供全局预览。

    tomcat垃圾回收配置模版.docx

    - **-verbose:gc-Xloggc:/logs/gc.log**: 开启垃圾回收日志记录,并指定日志文件的位置。 - **-XX:+UnlockExperimentalVMOptions-XX:+UseG1GC**: 启用G1垃圾回收器。 - **-XX:MaxGCPauseMillis=50**: 设置GC最大停顿...

    The Garbage Collection Handbook.pdf

    《垃圾收集手册》是关于自动内存管理的一本权威著作,主要探讨了计算机程序中的垃圾收集(Garbage Collection, GC)技术。垃圾收集是现代编程语言中一个至关重要的部分,它负责自动识别并释放不再使用的内存空间,...

    lab_garbage_collector.rar_Free!_Garbage Collector_garbage lab_ma

    系统级编程实验,利用C语言实现垃圾回收器,避免在malloc分配内存后忘记free,导致内存泄漏等一些严重后果

    [垃圾收集].(Garbage.Collection).(美)Richard.Jones.扫描版

    垃圾回收算法的经典之作。 本书围绕着动态内存自动回收的话题,介绍了垃圾收集机制,详细分析了各种算法和相关技术。  本书共12章。第1章首先介绍计算机存储器管理的演化和自动内存回收的需求,并引入了本书所使用...

    Study_Garbage_Collector.zip

    Study_Garbage_CollectorC语言,基于mark-sweep算法实现的垃圾回收机制C语言,基于mark-sweep算法实现的垃圾回收机制C语言,基于mark-sweep算法实现的垃圾回收机制C语言,基于mark-sweep算法实现的垃圾回收机制C语言...

    基于深度学习算法的垃圾检测系统(YOLOv5_+_Flask_+_Vue)_yolov5_garbage_detect.zip

    基于深度学习算法的垃圾检测系统(YOLOv5_+_Flask_+_Vue)_yolov5_garbage_detect

Global site tag (gtag.js) - Google Analytics