{channel.title!channel.name} - 楚淮公司周东林

Linux下Tomcat配置优化

提高JAVA虚拟机的运行内存,Tomcat运行最大线程池来优化Linux服务器上运行的Tomcat中间件。


tomcat运行期优化及问题解决方案 Tomcat 线程池

1、环境说明

  Linux 操作系统下 运行 APACHE TOMCAT

2、增加jvm 内存的配置

        进入  TOMCAT 的  bin 目录修改 catalina.sh 文件增加 JVM 运行内存

  #vi catalina.sh

  插入如下:

  JAVA_OPTS='-Xms512m -Xmx2048m'
       # 最大运行内存2G,最小运行内存512M

3、大并发下报错及优化

报错信息:INFO: Maximum number of threads (200) created for connector with address null and port 8080

  说明:最大线程数错误

  解决方案:

  使用线程池,用较少的线程处理较多的访问,可以提高tomcat处理请求的能力。使用方式:

  首先。打开/conf/server.xml,增加

  
最大线程500(一般服务器足以),最小空闲线程数20,线程最大空闲时间60秒。

  然后,修改节点,增加executor属性,如:
  <Connector executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" connectionTimeout="60000" keepAliveTimeout="15000" maxKeepAliveRequests="1" redirectPort="443" ....../>


  4、java.net.SocketException: Too many open files

  当tomcat并发用户量大的时候,单个jvm进程确实可能打开过多的文件句柄。

  使用 #lsof -p 10001|wc -l  查看文件操作数

  如下操作:

  (1).ps -ef |grep tomcat 查看tomcat的进程ID,记录ID号,假设进程ID为10001

        (2).lsof -p 10001|wc -l 查看当前进程id为10001的 文件操作数

        (3).使用命令:ulimit -a 查看每个用户允许打开的最大文件数 默认是1024.

        (4).然后执行:ulimit -n 65536 将允许的最大文件数调整为65536


浏览.发表于:2017-01-25 16:01:50