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,增加
Xml代碼- <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
- maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />
最大線程500(一般服務器足以),最小空閒線程數20,線程最大空閒時間60秒。
然後,修改<Connector ...>節點,增加executor屬性,如:
Xml代碼- <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 查看文件操作數
如下操作:
Js代碼- (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