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
分享到:
相关推荐
内存溢出是指程序运行时,申请的内存空间超过了系统能够提供的最大值,导致程序无法继续执行下去的现象。在Java中,主要分为堆内存溢出(Heap Space OutOfMemoryError)和永久代/元空间溢出(PermGen/MethodArea ...
内存溢出是指程序在运行过程中请求的内存超过了系统分配的内存,导致程序崩溃或者系统性能下降。在处理内存溢出问题时,有以下几个策略: 1. **优化数据结构**:选择更高效的数据结构可以减少内存消耗,例如使用...
标题中的"解决jetty8内存溢出版本"意味着我们面对的是一个针对Jetty 8的特殊构建或配置,其目标是优化内存使用,防止或减少内存溢出的发生。在32位和64位操作系统上都能安装为服务,这意味着这个版本考虑到了兼容性...
- **栈内存溢出**:每个线程都有自己的栈,如果线程请求栈深度超过虚拟机所允许的最大深度,也会导致栈溢出。 ##### 3. **诊断工具** 为了更准确地定位问题,开发者可以借助多种工具进行诊断: - **VisualVM**:...
在易语言中,可以通过以下几种方式来防止内存溢出: 1. 使用动态内存分配函数:易语言提供了如`创建内存块`、`扩展内存块`等函数,允许程序在运行时按需分配和释放内存,避免静态分配导致的浪费和溢出风险。 2. ...
线程是操作系统调度的基本单位,它在执行程序的过程中扮演着重要的角色。理解线程占用的内存对于优化系统性能和管理资源至关...因此,优化线程内存使用时需要综合考虑这些因素,以实现更高效、更节省资源的多线程编程。
- **定义**:内存溢出指的是虽然所有对象仍在使用中,但由于 Java 堆空间不足,新对象无法创建。 - **识别**:通过检查 JVM 参数 `-Xmx` 和 `-Xms` 设置的堆大小是否合理,以及是否存在对象生命周期过长等问题。 - *...
Java内存溢出问题,全称为Java OutOfMemoryError,是Java开发者经常遇到的运行时异常。内存溢出通常发生在程序运行过程中,系统无法为运行的应用程序分配足够的内存资源,导致程序无法正常执行。理解并解决Java内存...
解决Java内存溢出问题通常涉及优化内存分配策略、调整JVM参数、减少不必要的对象创建以及使用更有效的数据结构。同时,进行内存分析工具的使用,如VisualVM或MAT,可以帮助定位内存泄漏问题。理解JVM内存模型和垃圾...
### 使用JNA替代JNI调用DLL,并解决内存溢出问题 #### 问题背景 在项目的开发过程中,常常遇到需要处理二进制流数据并对其进行解析处理的情况。这种情况下,如果上层应用平台采用的是Java开发,而底层算法或数据...
JAVA内存溢出 JAVA中OutOfMemoryError(内存溢出)的三种情况及解决办法 Java中的OutOfMemoryError(内存溢出)是一种常见的错误,本文将详细介绍OutOfMemoryError的三种情况及其解决方法。 首先,我们需要了解...
### Apache服务器出现内存溢出的解决方法 #### 知识点概述 本文主要探讨了Apache服务器在运行过程中遇到内存溢出问题的几种常见情况及其解决办法。虽然标题提及的是Apache服务器,但文中实际讨论的是与Apache...
标题中的“idea git提交内存溢出后dump文件”指的是在使用IntelliJ IDEA(简称IDEA)这款流行的Java集成开发环境进行Git操作时遇到了内存溢出的问题,导致系统生成了一个名为`heapDump.hprof`的堆转储文件。内存溢出...
【JVM内存溢出】指的是Java虚拟机在运行过程中,由于内存分配不当或者内存使用过度导致内存无法正常管理,从而抛出错误的情况。这通常会导致应用程序崩溃或性能急剧下降。在Tomcat这样的Java应用服务器中,内存溢出...
2. **掌握Java堆内存溢出异常的测试**:通过编写程序不断地创建对象,直至消耗完所有可用的堆内存,从而触发`OutOfMemoryError`异常。 3. **掌握虚拟机栈和本地方法栈内存溢出异常的测试**:探究如何通过递归调用或...
在IT领域,CPU利用率过高和内存溢出是两个常见的性能问题,它们可能严重影响系统的稳定性和效率。本篇文章将深入探讨这两个问题,同时提及一个名为"ProblemDiagnosticsLabToolkit.ear"的工具,它可能用于诊断和解决...
### JVM内存溢出详解 #### 一、基本概念与理解 **JVM内存溢出**是一种常见的运行时错误,指的是程序在执行过程中因为无法获得足够的内存资源而导致的问题。这种问题通常发生在程序尝试分配超出系统可用内存限制的...
然而,当处理大数据量的Excel文件时,POI可能会导致内存溢出(Out of Memory, OOM),因为默认情况下它会将整个工作簿加载到内存中。为了防止这种问题,我们需要采用优化策略来高效地处理大量数据。 1. **分块读取*...
解决内存溢出问题,首先应检查代码是否存在资源管理不当的问题,优化数据结构和算法,减少不必要的对象创建;其次,合理配置JVM参数,如增大堆内存大小;再者,使用内存分析工具(如VisualVM、MAT等),定位内存泄漏...