`
sooxin
  • 浏览: 250708 次
  • 性别: 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.sh文件中添加了jconsole检测内存配置

    NULL 博文链接:https://it586.iteye.com/blog/1772933

    修改后的catalina.sh

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

    tomcat catalina.out日志分离.7z

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

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

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

    jakarta-tomcat-catalina.rar_The Bat

    This temp directory is used by the JVM for temporary file storage. The JVM is configured to use this as its java.io.tmpdir in the catalina.sh and catalina.bat scripts.

    解决Tomcat 中catalina.out持续累加问题

    1.在tomcat bin目录下添加文件clear_log.sh 内容如下: #!/bin/sh d=`date +%Y-%m-%d` d7=`date -d'7 day ago' +%Y-%m-%d` cp /opt/apache-tomcat-8.5.9/logs/catalina.out /opt/apache-tomcat-8.5.9/logs/...

    tomcat cronolog日志分隔.zip

    Linux下面的 tomcat cronolog日志分隔包,帮助网管实现自动分割tomcat下面的catalina.sh

    catalina.sh

    linux 部署tomcat 后进行日志分割, 本资源为日志分割catalina.sh修改后配置文件,需要使用 crogolog日志分割工具。 具体详情查看 https://blog.csdn.net/db3265613/article/details/103693632

    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的欢迎页表示整合成功,至此已经完成...

    Linux下Tomcat的启动、关闭、杀死进程

     tail -f logs/catalina.out #看tomcat的控制台输出;  #看是否已经有tomcat在运行了  ps -ef |grep tomcat  #如果有,用kill;  kill -9 pid #pid 为相应的进程号  例如 pe -ef |grep tomcat 输出如下 ...

    Tomcat 安全配置与性能优化

    Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OPTS参数

    tomcat日志切割和tomcat优化

    Cronolog.rar解压缩后直接放入liunx文件夹下。 在tomcat的catalina.sh里引用一下。测试好用。

    cronolog-1.6.2.tar.gz

    修改tomcat bin目录下的catalina.sh文件中的 org.apache.catalina.startup.Bootstrap “$@” start \ >> “$CATALINA_BASE”/logs/catalina.out 2>&1 & 为 org.apache.catalina.startup.Bootstrap "$@" start 2...

    Tomcat性能优化1

    Tomcat性能优化设置tomcat的java虚拟机参数catalina.sh/batWindows下修改 $tomcat$\ bin \ catalina.

    apache-tomcat.tar

    Linux下的可以改造的Tomcat,可以用于企业级Tomcat服务应用的改造,改造完成后拷贝到Linux下,进入/bin目录下的“./catalina.sh run”启动应用,“./catalina.sh stop”关闭。

    apache-tomcat-8.0.30 linux 64位

    apache-tomcat-8.0.30 linux 64位 tar.gz解压版,需在bin目录的startup.sh或catalina.sh中配置相应的路径

    tomcat-7.0.28

    /usr/local/apache-tomcat-7.0.28/bin/catalina.sh start 或者 /usr/local/apache-tomcat-7.0.28/bin/startup.sh netstat -lnt 发现了80开头的端口 Active Internet connections (only servers) Proto Recv-Q Send-Q...

    tomcat7优化版

    tomcat是经过优化配置的,下载根据自己内存大小好修改即可使用,下载后打(windows)开/bin/catalina.bat (linux)/bin/catalina.sh 下JAVA_OPTS= 后面内存参数修改即可 ;/conf/server.xml 已配置三种模式(bio/nio/...

    apache-tomcat-8.5.42.zip 集成了 tomcat-redis-session

    最新的apache-tomcat-8.5.42版本+最新的tomcat-cluster-...配置了JAVA_OPTS,详见bin/catalina.sh及bin/catalina.bat文件 配置了manager账号密码,详见conf/tomcat-users.xml文件 卸载了webapps/examples及webapps/docs

Global site tag (gtag.js) - Google Analytics