`
sooxin
  • 浏览: 257284 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

tomcat优化之catalina.sh

 
阅读更多
Linux下修改TOMCAT_HOME/bin/catalina.sh,在其中加入,可以放在CLASSPATH=下面:

JAVA_OPTS="-server -XX:PermSize=512M -XX:MaxPermSize=1024m -Xms2048m -Xmx2048m"

//-------------------------------------------
JAVA_OPTS="-server
    -Xms2g                                                                                  #是用来设置你的应用程序能够使用的最大内存数,如果程序要花很大内存的话,那就需要修改增加此数的值。
    -Xmx2g                                                                                  #是用它来设置程序初始化的时候内存栈的大小,增加这个值的话你的程序的启动性能会得到提高。
    -Xmn512m                                                                                #设置年轻代大小为512m
    -Xss512k                                                                                #设置每个线程的堆栈大小512k
    -XX:MetaspaceSize=512M                                                                  #这个JVM参数是指Metaspace扩容时触发FullGC的初始化阈值,也是最小的阈值。
    -XX:MaxMetaspaceSize=512M                                                               #这个JVM参数是指Metaspace扩容时触发FullGC的峰值阈值,也是最大的阈值。
    -Duser.country=CN                                                                       #语言国家
    -Duser.language=zh                                                                      #语言类型
    -Dfile.encoding=UTF-8                                                                   #强行设置系统文件编码格式为utf-8
    -Djavax.servlet.response.encoding=UTF-8                                                 #设置Servlet中response的乱码问题
    -Djavax.servlet.request.encoding=UTF-8                                                  #设置Servlet中request的乱码问题
    -Dcom.sun.management.jmxremote                                                          #远程连接监控jvm的参数可以定义ip、prot等参数。
    -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector   #开启tomcat异步日志
    -XX:+HeapDumpOnOutOfMemoryError                                                         #参数表示当JVM发生OOM时,自动生成DUMP文件。
    -XX:HeapDumpPath=/opt//dump.log                                                         #定义dump文件路径
    -XX:+UseG1GC                                                                            #G1垃圾回收器G1垃圾回收器适用于堆内存很大的情况,他将堆内存分割成不同的区域,并且并发的对其进行垃圾回收。G1也可以在回收内存之后对剩余的堆内存空间进行压缩。并发扫描标记垃圾回收器在STW情况下压缩内存。G1垃圾回收会优先选择第一块垃圾最多的区域
    -XX:MaxGCPauseMillis=300                                                                #设置每次年轻代垃圾回收的最长时间,如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值
    -XX:ParallelGCThreads=4                                                                 #并行回收GC的线程数
    -XX:ConcGCThreads=4                                                                     #将使用并发垃圾收集器的线程数。默认值随JVM运行的平台而变化。
    -XX:+PrintGCDetails                                                                     #打印GC日志详情
    -XX:+PrintGCDateStamps                                                                  #输出GC的时间戳
    -Xloggc:/opt/gc.log"                                                                    #输出的GC日志路径

2.验证
设置成功后我们可以利用JDK自带的工具进行验证,这些工具都在JAVA_HOME/bin目录下:
1)jps:用来显示本地的java进程,以及进程号,进程启动的路径等。
2)jmap:观察运行中的JVM 物理内存的占用情况,包括Heap size , Perm size 下载地址 等。

进入命令行模式后,进入JAVA_HOME/bin目录下,然后输入jps命令:

#jps 
显示以下结果 

2340 Bootstrap 
6696 Jps
其中 Bootstrap进程就是我们启动了的 Tomcat,其进程号为2340.
然后我们利用 jmap工具查看其内存相关配置:

#jmap -heap 2340 
显示以下结果

Attaching to process ID 2340, please wait... 
Debugger attached successfully. 
Server compiler detected. 
JVM version is 24.65-b04 
 
using thread-local object allocation. 
Parallel GC with 4 thread(s) 
 
Heap Configuration: 
   MinHeapFreeRatio = 0 
   MaxHeapFreeRatio = 100 
   MaxHeapSize      = 2147483648 (2048.0MB)    //最大堆内存 
   NewSize          = 1310720 (1.25MB) 
   MaxNewSize       = 17592186044415 MB 
   OldSize          = 5439488 (5.1875MB) 
   NewRatio         = 2 
   SurvivorRatio    = 8 
   PermSize         = 536870912 (512.0MB)      //永久代初始大小 
   MaxPermSize      = 1073741824 (1024.0MB)    //永久代最大大小 
   G1HeapRegionSize = 0 (0.0MB) 
Heap Usage: 
PS Young Generation 
Eden Space: 
   capacity = 537919488 (513.0MB) 
   used     = 247606720 (236.13616943359375MB) 
   free     = 290312768 (276.86383056640625MB) 
   46.03044238471613% used 
From Space: 
   capacity = 89128960 (85.0MB) 
   used     = 0 (0.0MB) 
   free     = 89128960 (85.0MB) 
   0.0% used 
To Space: 
   capacity = 89128960 (85.0MB) 
   used     = 0 (0.0MB) 
   free     = 89128960 (85.0MB) 
   0.0% used 
PS Old Generation 
   capacity = 1431830528 (1365.5MB) 
   used     = 0 (0.0MB) 
   free     = 1431830528 (1365.5MB) 
   0.0% used 
PS Perm Generation 
   capacity = 536870912 (512.0MB) 
   used     = 20770360 (19.80815887451172MB) 
   free     = 516100552 (492.1918411254883MB) 
   3.86878103017807% used 
 
12005 interned Strings occupying 1039352 bytes.


从结果验证配置是否成功了。
分享到:
评论

相关推荐

    tomcat 下catalina.out 日志乱码问题处理

    通常,可以使用`shutdown.sh`停止Tomcat,再用`startup.sh`启动,或者直接使用`catalina.sh`的start和stop选项。 值得注意的是,虽然此方法在很多情况下可以解决问题,但并非所有情况都适用。例如,如果日志输出被...

    在tomcat的catalina.sh文件中添加了jconsole检测内存配置

    标题中的“在tomcat的catalina.sh文件中添加了jconsole检测内存配置”涉及到的是Java应用程序服务器Tomcat的配置以及使用JConsole进行性能监控的知识点。Tomcat是Apache软件基金会的一个开源项目,广泛用于部署Java ...

    Linux下tomcat日志catalina.out按天(/周)分割

    默认情况下,Tomcat的主要日志输出文件是`catalina.out`,它记录了服务器启动、运行和关闭过程中的所有标准输出和错误信息。然而,随着服务器运行时间的增长,`catalina.out`可能会变得非常大,导致日志查找和分析变...

    catalina.sh

    《catalina.sh详解——深度剖析Tomcat启动脚本》 在Java Web开发领域,Tomcat作为一款广泛应用的...在遇到问题时,通过分析`catalina.sh`中的日志信息,往往能迅速定位并解决问题,是每个Tomcat使用者必备的技能之一。

    TOMCAT在LINUX下catalina.out文件分割

    `catalina.sh`是Tomcat的启动脚本,它负责启动、停止和管理Tomcat实例。 - 当Tomcat运行时,所有标准输出(stdout)和标准错误(stderr)都会被重定向到`catalina.out`,这对于调试和问题排查非常有帮助。 - 但是...

    修改后的catalina.sh

    Linux日志分隔修改后的tomcat的catalina.sh,用于对tomcat每天的日志分隔

    catalina.out 日志分割

    - 打开Tomcat的启动脚本`catalina.sh`,通常位于`/path/to/tomcat/bin/`目录下。 - 修改脚本中的日志输出方式,使其支持cronolog。具体操作是在`catalina.sh`文件中找到与日志输出相关的代码段,将其修改为如下所...

    tomcat catalina.out日志分离.7z

    tomcat日志 catalina.out分离 免去catalina,out过大的情况,并且查看日志方便,里面包含了食用方法和一个写好的catalina.sh文件 安装好cronolog后直接覆盖源文件

    linux下切分tomcat的Catalina.out日志

    接下来,需要修改Tomcat的启动脚本`catalina.sh`,以便在启动时使用cronolog进行日志文件的切分。 #### 修改`catalina.sh` 1. **找到`catalina.sh`文件的位置**: 通常位于`$TOMCAT_HOME/bin`目录下。 2. **注释...

    Linux下,tomcat自动获取CATALINA_HOME的脚本

    Linux下,tomcat自动获取CATALINA_HOME的脚本,放到startup.sh同级目录下即可

    使用cronolog工具切分Tomcat的catalina.out日志文件

    在Tomcat这样的Java应用服务器中,`catalina.out`是默认的日志文件,记录了Tomcat启动、运行过程中的所有信息,包括错误、警告以及普通日志。随着服务器运行时间的增长,`catalina.out`可能会变得非常庞大,不仅占用...

    Apache-tomcat-6.0.53 for Linux(Redhat/CentOS测试通过)

    ./catalina.sh start (关闭tomcat ./shutdown.sh stop) 4.、测试 查看Tomcat是否已经启动netstat -ntl |grep 8080 浏览器地址栏输入 http://localhost:8080/ 如果能看到Tomcat的欢迎页表示整合成功,至此已经完成...

    详解关于tomcat切割catalina.out日志的三种方式

    1. 在Tomcat的启动脚本(例如:catalina.sh)的合适位置添加以下JVM参数: ``` -Dcom.sun.management.config.file=catalina-logging.properties ``` 2. 在Tomcat的conf目录下创建catalina-logging.properties...

    tomcat下用Log4j 按文件大小,生成catalina.out日志文件

    同时,确保Tomcat启动脚本(`catalina.sh`或`catalina.bat`)包含以下行来加载Log4j配置: ```bash -Dlog4j.configuration=file:${catalina.base}/conf/log4j.properties ``` 这样,Tomcat就会使用Log4j进行日志...

    cronolog-1.6.2.tar.gz+catalina.sh

    catalina.sh 是 Apache Tomcat 服务器的一部分,它是用于启动、停止和管理 Tomcat 服务的脚本。在这个上下文中,可能是指通过修改或扩展 catalina.sh 脚本来集成 cronolog,以便在 Tomcat 服务器运行时自动分割日志...

    Tomcat8安装包,Tomcat安装包-8.5.85版本

    4. **启动与管理**:通过`bin`目录下的脚本启动Tomcat,如`./catalina.sh start`(Unix/Linux)或`catalina.bat start`(Windows)。可以通过`./catalina.sh stop`或`catalina.bat stop`来停止服务。`manager`和`...

    apache-tomcat-8.5.64.tar.gz

    这些参数通常在`catalina.sh`或`setenv.sh`脚本中设置。 10. **负载均衡与集群** 对于高可用性和负载均衡,可以配置多个Tomcat实例并通过反向代理(如Nginx或HAProxy)进行负载均衡。更高级的配置可以通过Apache ...

    Linux版本tomcat8-8.5.35.tar.gz

    1. **bin**:包含启动和停止Tomcat的脚本,如`catalina.sh`、`startup.sh`和`shutdown.sh`,以及其他的实用工具。 2. **conf**:存放所有配置文件,如`server.xml`(服务器配置)、`context.xml`(全局上下文配置)...

    apache-tomcat-8.5.100.tar.gz

    - 启动与停止:通过bin目录下的startup.sh或startup.bat启动Tomcat,使用shutdown.sh或shutdown.bat停止。 2. 使用Apache Tomcat托管Web应用: - 将WAR文件放入webapps目录下,Tomcat会自动解压并部署应用。 - ...

Global site tag (gtag.js) - Google Analytics