您的位置:首页 > 运维架构 > Tomcat

tomcat 下部署的应用出现ava.lang.OutOfMemoryError: unable to create new native thread ,解决方案。

2014-02-18 18:49 603 查看
第一:使用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 最大線程數理解 .

我的解決方案是:

 -Xms512m -Xmx1024m -Xss128k
第三:使用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 OutOfMemoryError
相关文章推荐