引用自:http://hi.baidu.com/worldpasser/blog/item/2ed12283cfec2eaf0df4d234.html
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 11222
说明:最大线程数错误
解决方案:
使用线程池,用较少的线程处理较多的访问,可以提高tomcat处理请求的能力。使用方式:
首先。打开/conf/server.xml,增加
-
<Executor name="tomcatThreadPool"
namePrefix="catalina-exec-"
- maxThreads="500" minSpareThreads="20" maxIdleTime="60000"
/>
<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"
- ....../>
<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
相关推荐
#### 一、硬件层面的问题及解决方案 1. **网络原因**: - **问题描述**:网络带宽不足,包括服务器带宽、客户端带宽以及并发用户的数量。这可能会导致系统响应变慢,甚至出现卡顿或宕机的情况。 - **解决方案**:...
GC(垃圾收集)不会在主程序运行期对PermGen space进行清理。因此,如果应用加载了大量Class,可能会导致PermGen space区域不足。尤其是在Web服务器进行JSP预编译时,若WEBAPP下使用的第三方jar包数量超过了JVM默认...
│ 16-tomcat的3种运行模式和执行器(线程池).avi │ 17-tomcat中连接器.avi │ 18-禁用AJP连接器.avi │ 19-tomcat中JVM参数优化.avi │ ├─补充2:Redis3.0新特性、主从复制、集群视频教程 │ │ 打开必读.txt ...
Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理。如果应用中有很多CLASS,可能会出现PermGen space...
而proxool-cglib.jar则是依赖于CGLIB的一个子库,CGLIB是一个强大的高性能的代码生成库,它在许多AOP(面向切面编程)框架中被用到,如Spring AOP,它可以在运行期扩展Java类与实现Java接口。 另一个关键的jar包是...
以上内容详细阐述了软件开发与项目管理过程中遇到的一些常见问题及其解决方案,包括了FTP服务的监控、Click Once的优缺点、.NET Framework与IIS或SQL Server的兼容性问题,以及软件部署前的准备和Tomcat虚拟主机的...
解决内存溢出的方法有两种:一是优化程序代码,减少全局变量的引用,让程序使用完变量的时候释放该引用,能够让垃圾回收器回收,释放资源;二是物理解决,增大物理内存,然后通过调整 JVM 的参数来调整内存的大小。 ...
总的来说,"apache-tomcat-6.0.18_rjmed.rar"是一个集成了JSP编程语言和MySQL数据库的医药进销存管理系统,它提供了全面的医药行业管理解决方案,同时也为学习者提供了宝贵的实践平台。无论是企业还是个人,都能从中...
3. **QA挑战与解决方案**: - QA挑战包括自测不足、环境问题、效率问题等。为解决这些问题,提出了建立规范的流程、阶段分工、指标度量,以及利用持续集成、环境治理、自动化测试等手段提高质量和效率。 - 自动...
例如,若一台Tomcat服务器支持每秒300个并发,平常可能需要10台,高峰期可能需要30台。此外,应遵循70/90原则,保持系统在正常运行时CPU利用率约为70%,在高峰期间不超过90%。 网站架构分析指出,原始架构可能存在...
- **Spring Cloud Alibaba**:Spring Cloud Alibaba提供了构建分布式系统的完整解决方案。本部分将重点讲解如何利用Spring Cloud Alibaba构建健壮的微服务架构。 综上所述,“Tu灵六期Java高级互联网架构师第6期”...
- 分享一些常见的性能瓶颈问题及其解决方法。 8. **社区资源**: - 推荐一些优质的博客、论坛及文档资源,帮助学员更深入地学习Solr。 - 鼓励参与社区讨论,共同解决技术难题。 ### 五、总结 通过以上分析可以...
#### 缓存解决方案 为了解决上述问题,可以采用缓存技术: 1. **缓存信息** - 当首次访问时,从数据库获取基础数据,生成报表并将其存储在缓存中。 2. **响应信息由缓存提供** - 对于后续访问,优先检查缓存中...
6. **项目心得**:这部分内容是开发者对整个项目开发过程的反思和经验总结,可能涉及遇到的问题、解决方案、优化建议等,对于初学者来说是一份宝贵的参考资料。 7. **源码分析**:通过查看源码,可以学习到MVC...
6. **AOP实现原理**:通过动态代理(JDK动态代理或CGLIB)实现在运行期织入切面。 7. **BIO、NIO、AIO**:BIO是同步阻塞,NIO是同步非阻塞,AIO是异步非阻塞。 8. **消息中间件**:如RabbitMQ、Kafka,用于解耦...
1. 实施Oracle Enterprise Manager监控数据库运行状态,及时发现并解决问题。 2. 定期进行性能评估和调整,确保系统稳定运行。 3. 建立健全的变更管理流程,控制风险。 综上所述,Oracle数据库在某信息网电子商务...
依赖注入允许在程序运行时动态地注入依赖关系,而不是在编译期就确定下来。这种方式能够使得对象的创建更加灵活,并且易于维护和测试。 **问题二:BeanFactory接口和ApplicationContext接口有什么区别** - **...
- JIRA不仅可以作为独立的问题跟踪工具使用,还可以与其他Atlassian产品(如Confluence、Bamboo等)结合,形成一套完整的企业级项目管理解决方案。 #### 常见问题与解答 - 提供了针对用户在使用JIRA过程中可能会...
一家中国领先的WEB2.0 ISV(独立软件供应商)正在寻找IT解决方案以应对业务增长的需求。该公司总部位于上海,为数百万玩家提供在线游戏服务。在高峰期,同时在线玩家数量可达100万,因此新硬件平台的吞吐量和性能...