zoukankan      html  css  js  c++  java
  • tomcat优化

    1、堆大小优化:
    (1)windows下修改:
    在bin/catalina.bat文件,
    set JAVA_OPTS=-Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:MaxTenuringThreshold=10 -XX:NewRatio=2 -XX:+DisableExplicitGC
    (2)Linux下修改:
    在bin/catalina.sh文件,
    JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:MaxTenuringThreshold=10 -XX:NewRatio=2 -XX:+DisableExplicitGC"

    2、线程设置:
    方法一:直接配置在Connector
    <Connector port="8080" address="localhost"
    maxThreads="250" maxHttpHeaderSize="8192"
    emptySessionPath="true" protocol="HTTP/1.1"
    enableLookups="false" redirectPort="8181" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />
    方法二:配置Executor(推荐配置)

    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
    maxThreads="250" minSpareThreads="20"/>

    <Connector executor="tomcatThreadPool"
    port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />
    maxThreads(最大线程数)
    minSpareThreads(最小活跃线程数)
    maxIdleTime(空闲线程等待时间)

    3、tomcat的运行模式
    bio
    默认的模式,性能非常低下,没有经过任何优化处理和支持.
    nio
    比bio更好的并发运行性能。修改server.xml里的Connector节点,修改protocol为org.apache.coyote.http11.Http11NioProtocol
    apr
    需要安装,可以大幅度提高解决异步的IO问题,大幅度的提高性能。

    4、Tomcat异常:

    java.lang.OutOfMemoryError: PermGen space

    PermGen space的全称是Permanent Generation space,是指内存的永久保存区域

    解决办法:

     配置相关内存大小。其中按照启动tomcat的不同方式,分如下三种情况
       a):如果是eclipse的tomcat插件启动tomcat,在“window”菜单-“Preferences”-“Tomcat”-“JVM Settings”中添加JVM参数如下即可:
           -Xms128M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=256M

       b):如果tomcat是安装为windows服务,从服务启动,则打开注册表编辑器,定位到:HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationProcrun 2.0 omcat6ParametersJava(Win7 X64系统则位于HKEY_LOCAL_MACHINESOFTWAREWow6432NodeApache Software FoundationProcrun 2.0 omcat6ParametersJava)
           双击右侧窗口的“Options”键值,添加如下行:
           -XX:PermSize=128M
           -XX:MaxNewSize=256m
           -XX:MaxPermSize=256m

       c):如果是命令行方式启动tomcat,则修改脚本文件(Windows下为catalina.bat,Linux下为catalina.sh),同样的方式,为JAVA_OPTS变量添加上述参数即可

    JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m

    二、java.lang.OutOfMemoryError: Java heap space

    Heap size 设置

    JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,

    set JAVA_OPTS=%JAVA_OPTS% -server -Xms256M -Xmx1200M -XX:PermSize=64M -XX:MaxNewSize=256M -XX:MaxPermSize=256M -Djava.awt.headless=true

    参考:http://blog.sina.com.cn/s/blog_673f3c860101cl8l.html

     

  • 相关阅读:
    DEBIAN下中文显示
    SpringMVC整合Quartz实现定时任务以及Tomcat服务执行初始化定时任务
    SpringMVC 配置定时执行任务
    Mybatis update In
    mybatis在xml文件中处理大于号小于号的方法
    解决Cannot change version of project facet Dynamic web module to 2.5
    android 圆角边框及图片
    Android MotionEvent事件响应机制
    android:configChanges属性
    Android之ScrollView嵌套ListView
  • 原文地址:https://www.cnblogs.com/spdboke/p/7509570.html
Copyright © 2011-2022 走看看