1、INFO: Maximum number of threads (200) created for connector with address null and port 8091
說(shuō)明:最大線程數(shù)錯(cuò)誤
解決方案:
使用線程池,用較少的線程處理較多的訪問(wèn),可以提高tomcat處理請(qǐng)求的能力。使用方式:
首先。打開(kāi)/conf/server.xml,增加
- <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
- maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />
最大線程500(一般服務(wù)器足以),最小空閑線程數(shù)20,線程最大空閑時(shí)間60秒。
然后,修改<Connector ...>節(jié)點(diǎn),增加executor屬性,如:
- <Connector executor="tomcatThreadPool"
- port="80" protocol="HTTP/1.1"
- connectionTimeout="60000"
- keepAliveTimeout="15000"
- maxKeepAliveRequests="1"
- redirectPort="443"
- ....../>
2、java.net.SocketException: Too many open files
當(dāng)tomcat并發(fā)用戶(hù)量大的時(shí)候,單個(gè)jvm進(jìn)程確實(shí)可能打開(kāi)過(guò)多的文件句柄。
使用 #lsof -p 10001|wc -l 查看文件操作數(shù)
如下操作:
- (1).ps -ef |grep tomcat 查看tomcat的進(jìn)程ID,記錄ID號(hào),假設(shè)進(jìn)程ID為10001
- (2).lsof -p 10001|wc -l 查看當(dāng)前進(jìn)程id為10001的 文件操作數(shù)
- (3).使用命令:ulimit -a 查看每個(gè)用戶(hù)允許打開(kāi)的最大文件數(shù)
- 默認(rèn)是1024.
- (4).然后執(zhí)行:ulimit -n 65536 將允許的最大文件數(shù)調(diào)整為65536