欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

创建线程是内存溢出 博客分类: OOM-native heap JavathreadLinuxJVMSUN

程序员文章站 2024-02-20 21:50:10
...
app情况:web应用下开启一个新的线程A,在线程A中又创建了线程B
在B.start()后,A有个sleep(10000),此时报错。
报错时其他业务能顺利执行,jvm heap未满。
系统启动后几天一直是好的,运行4、5天后就会出现这个现象

异常如下:
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start(Native Method)


修改java内存参数后10天没有出现这个问题
原来是
-Xms1236m -Xmx1236m -XX:PermSize=128m

修改后是
-Xms1236m -Xmx1576m 


参考资料:
http://forums-beta.sun.com/thread.jspa?threadID=605782&messageID=3360044
http://www.javagg.com/diary/67493528
http://www.velocityreviews.com/forums/t131216-linux-javalangoutofmemoryerror-unable-to-create-new-native-thread.html
http://forums.sun.com/thread.jspa?threadID=5341026
http://www.herongyang.com/java/Thread-Group-Memory-Leak-with-Unstarted-Threads.html
http://topic.csdn.net/u/20080222/21/880253ba-d9a7-4ec8-a8ee-6821eb9563c0.html