1、环境说明
Linux下tomcat运行期
2、增加jvm 内存的配置
#vi catalina.sh
插入如下:
JAVA_OPTS='-Xms256m -Xmx512m'
3、INFO: Maximum number of threads (200) created for connector with address null and port 8091
说明:最大线程数错误
解决方案:
使用线程池,用较少的线程处理较多的访问,可以提高tomcat处理请求的能力。使用方式:
首先。打开/conf/server.xml,增加
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />
最大线程500(一般服务器足以),最小空闲线程数20,线程最大空闲时间60秒。
然后,修改<Connector ...>节点,增加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
分享到:
相关推荐
│ 16-tomcat的3种运行模式和执行器(线程池).avi │ 17-tomcat中连接器.avi │ 18-禁用AJP连接器.avi │ 19-tomcat中JVM参数优化.avi │ ├─补充2:Redis3.0新特性、主从复制、集群视频教程 │ │ 打开必读.txt ...
6. **AOP实现原理**:通过动态代理(JDK动态代理或CGLIB)实现在运行期织入切面。 7. **BIO、NIO、AIO**:BIO是同步阻塞,NIO是同步非阻塞,AIO是异步非阻塞。 8. **消息中间件**:如RabbitMQ、Kafka,用于解耦...
SpringBoot可以通过线程池和异步处理等方式优化并发性能,确保在高负载下系统仍能正常运行。 8. **API接口设计** 系统可能还提供了API接口,以便于其他系统集成,例如教务系统获取选课数据,或者移动端应用获取...
注解提供了一种标准的方法来标记代码,用于元数据的添加或某些编译期/运行期的行为改变。例如,@Override 注解用于标记方法覆盖。 **9. 枚举** 枚举类型提供了一种定义固定数量常量的有效方式,同时提供了多种实用...
BlazeDS是一个Adobe提供的实时数据和远程调用解决方案,它可以作为Flex和Java之间的桥梁,实现双向数据流和远程过程调用。利用BlazeDS,Flex客户端可以订阅Java服务器上的事件,实时获取更新数据,同时也可以调用...
本项目是一个基于SSM(Spring、SpringMVC、MyBatis)框架的高校学生选课系统,主要目标是实现高效、稳定且用户友好的在线选课功能,为高校师生提供...通过阅读源码,学习如何解决实际问题,对于提升专业技能非常有益。