tomcat 下部署的应用出现ava.lang.OutOfMemoryError: unable to create new native thread ,解决方案。
2014-02-18 18:49
603 查看
第一:使用tomcat 线程池。
请看
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
<Connector executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" maxThreads="2000" minSpareThreads="100" maxSpareThreads="300" connectionTimeout="20000" redirectPort="443" URIEncoding="UTF-8" />
优化请看 tomcat
高并发 这篇文章解决。
第二:加大jvm 允许存在的最大线程数
请参考
java 最大線程數理解 .
我的解決方案是:
第三:使用64位的jre ,tomcat,操作系統
再32位的操作系統中,單個jvm 進程中可用最大內存爲2G。那麼除去permSize,
測試 使用jre 32 位 ,jvm 參數爲-Xms512m -Xmx1024m -Xss128k 能創建 1000 左右的線程。
再64位的操作系統中,物理內存達到8G,使用jre 64位,jvm 參數爲:-Xms512m -Xmx1024m
-Xss128k,線程數可高達上萬。
第四:使用apache+tomcat 做集群。
请看
tomcat
高并发 这篇文章解决。
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"maxThreads="150" minSpareThreads="4"/>
<Connector executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" maxThreads="2000" minSpareThreads="100" maxSpareThreads="300" connectionTimeout="20000" redirectPort="443" URIEncoding="UTF-8" />
优化请看 tomcat
高并发 这篇文章解决。
第二:加大jvm 允许存在的最大线程数
请参考
java 最大線程數理解 .
我的解決方案是:
|
再32位的操作系統中,單個jvm 進程中可用最大內存爲2G。那麼除去permSize,
測試 使用jre 32 位 ,jvm 參數爲-Xms512m -Xmx1024m -Xss128k 能創建 1000 左右的線程。
再64位的操作系統中,物理內存達到8G,使用jre 64位,jvm 參數爲:-Xms512m -Xmx1024m
-Xss128k,線程數可高達上萬。
第四:使用apache+tomcat 做集群。
相关文章推荐
- linux tomcat java.lang.OutOfMemoryError: unable to create new native thread
- tomcat服务java.lang.OutOfMemoryError: unable to create new native thread
- Centos中普通用户启动多个Dubbo服务出现java.lang.OutOfMemoryError: unable to create new native thread
- 内存溢出,无法创建新的本地线程的原因和解决方案 - java.lang.OutOfMemoryError: unable to create new native thread
- 1000并发时候,监控日志出现此问题:java.lang.OutOfMemoryError: unable to create new native thread
- 高并发请求服务器时,经常出现如下异常:java.lang.OutOfMemoryError: unable to create new native thread的解决方法
- spark大批量读取Hbase时出现java.lang.OutOfMemoryError: unable to create new native thread
- 线程ava.lang.OutOfMemoryError: unable to create new native thread
- 线程ava.lang.OutOfMemoryError: unable to create new native thread
- 解决 - java.lang.OutOfMemoryError: unable to create new native thread
- java.lang.OutOfMemoryError: unable to create new native thread
- java.lang.OutOfMemoryError: unable to create new native thread
- java.lang.OutOfMemoryError: unable to create new native thread
- java.lang.OutOfMemoryError: unable to create new native thread
- 解决 - java.lang.OutOfMemoryError: unable to create new native thread
- java.lang.OutOfMemoryError: Unable to create new native thread
- 解决 - java.lang.OutOfMemoryError: unable to create new native thread
- 解决 - java.lang.OutOfMemoryError: unable to create new native thread
- 解决 - java.lang.OutOfMemoryError: unable to create new native thread
- java.lang.OutOfMemoryError: unable to create new native thread