转载自:http://www.rigongyizu.com/jvm-max-threads/ 有应用报出这样的异常“java.lang.OutOfMemoryError: unable to create new native thread”.甚至机器上执行shell命令也会报”-bash: fork: Resource temporarily unavailable”异常.机器上的其他应用如hadoop也会受影响: 1 2013-08-21 20:15:48,496 FATAL org.apa…
原因:当前用户的系统最最大程序数数已达到最大值,使用ulimit -u可以看到是1024   解决办法:在当前用户下使用ulimit -u 65535 然后再执行jsp,一切ok     功能说明:控制shell程序的资源.语 法:ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大 小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆叠大 小>…
一.认识问题: 首先我们通过下面这个 测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse 3.4,测试程序: Java代码   import java.util.concurrent.CountDownLatch; public class TestNativeOutOfMemoryError { public static void main(String[] args) { for…
最近需要测试一个长连接服务器,数据上需要达到100W的长连接,测试的客户端,一个线程保持一个连接,发现linux服务器默认创建到3200多个线程的时候,就会报错这个错误“java.lang.OutOfMemoryError: unable to create new native thread.而且,此时整个系统都不能创新新的线程了,不能连接终端,不能执行任何命令. 貌似是内存不足,但实际内存尚有富余,经验证,是linux的一些内核参数限制了创建新的线程. 因为要保持长连接,所有先修改客户端保证…
最近的测试需要很长的连接server.这些数据需要达到100W长连接,试client.一个线程来保持连接.查找linuxserver创建者默认3200当多个线程.这个错误将得到"java.lang.OutOfMemoryError: unable to create new native thread.并且,此时整个系统都不能创新新的线程了,不能连接终端,不能运行不论什么命令. 貌似是内存不足.但实际内存尚有富余.经验证.是linux的一些内核參数限制了创建新的线程. watermark/2/t…
测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is java.lang.OutOfMemoryError: unable to create new native thread 看到这个异常有点发慌,毕竟并发程序写的少,突然来这么一个确实有点找不着背.但不管怎么样还是先搜索一下是啥原因吧. 这个错误是因为无法再创建新线程导致的,原因可能是没有更多的空…
剥下“java.lang.OutOfMemoryError: unable to create new native thread”的外衣 星期一早上到了公司,据称产品环境抛出了最可爱的异常—OutOfMemory, 它是这样来描述他自己的: java.lang.OutOfMemoryError: unable to create new native thread 而且这位仁兄竟然还堂而皇之地同时出现在了3个application里面,所有应用全部遭殃. 那可爱的OOM是如何产生的呢?直接原因…
近日开发遇到多线程的问题: java.lang.OutOfMemoryError: unable to create new native thread Exception in thread "Thread-2" java.lang.OutOfMemoryError: unable to create new native thread 原因是创建过多thread引出的问题,JVM此时无法再创建出更多的线程.这里的解释还是比较靠谱的  引用 As you can see, the m…
两种类型的Out of Memory java.lang.OutOfMemoryError: Java heap space error 当JVM尝试在堆中分配对象,堆中空间不足时抛出.一般通过设定JAVA启动参数-Xmx最小可用内存解决. java.lang.OutOfMemoryError: Unable to create new native thread 当JVM向OS申请创建线程,而OS不能分配一个本地线程时抛出. 了解系统参数 系统级最大进程ID $ sysctl -a | gre…
工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题.分析问题.解决问题. 一.认识问题: 首先我们通过下面这个 测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse 3.4, 测试程序: import java.util.concurrent.CountDownLatch; public class TestNativeOutOfMemor…