java.lang.OutOfMemoryError: unable to create new native thread 居然是MQ问题
问题:
开发环境,之前一直正常,某天突然用tomcat启动项目后时不时报如下错误:
java.lang.OutOfMemoryError: unable to create new native thread
环境介绍:
项目是用的 Eclipse+Tomcat + activeMQ
activeMQ用的本地的windows版本,黑窗口启动。
具体这个错误的上面报出的大异常是 JMS Exception。
因为是用的 spring,所以MQ消息处理部分报错都是先抛出 JMSException,然后往下看才是 内存溢出,不能创建本地线程。
具体显示异常发生在 MQ接收消息的 监听器中的: session.createConsumer(session.createQueue(queueName)) 以及 onMessage方法中。
尝试解决无果:
因为 onMessage方法中用了多线程处理业务逻辑,所以一开始 主观认为是 线程创建太多导致的,于是各种百度,找到的方法都是说
虚拟机内存配置等等。结果各种配置Eclipse都无效,很是郁闷。
尝试解决正确分析:
然后和其他同事比较Eclipse等环境配置,首先确保配置一样的情况下,还是一样有问题。
分析:
出问题的部分代码一直都未改动,之前整个办公环境都是正常的,
现在同样的代码,同样的环境配置,别人那还不出问题。
那就有可能是 和其他人不一样的地方出的问题,想到MQ是用的自己本机的,报的错误也是MQ部分的,虽然是在Eclipse中报错,但已经排除了Eclipse环境的问题,那么是不是本机的MQ有问题。
真正解决方法:
于是,关掉MQ,找到MQ的目录,查看data目录下的几个log日志文件,发现里面果真都报错了,于是清空data目录下的所有东西,重新去bin目录中启动bat文件。
在Eclipse中重启项目,问题解决了。
启示:
1、大家说的不一定就是对的,百度说的不一定就全面准确,具体问题具体分析很重要。
2、遇到难以解决的问题,如果百度等通用方法无效,那么要回过头仔细分析 报错的异常提示,注意整个异常的提示,尤其是开头部分,对提示中的多个点都进行分析尝试往往能够找到问题。
3、找问题还是用一步一步的逐个排除法来缩小范围比较靠谱。【最好有明确的分析 排除 顺序,先排除容易操作的】
4、除了Eclipse 和项目外,外部依赖的一些其它 小服务 也可能是产生问题的罪魁祸首。
java.lang.OutOfMemoryError: unable to create new native thread 居然是MQ问题的更多相关文章
- java.lang.OutOfMemoryError: unable to create new native thread如何解决
工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题.分析问题.解决问题. 一.认识问题: 首先我们通过下面这个 测试程序 来认识这个问题:运行的环境 ( ...
- JVM内存越多,能创建的线程越少,越容易发生java.lang.OutOfMemoryError: unable to create new native thread。
一.认识问题: 首先我们通过下面这个 测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse ...
- spark java.lang.OutOfMemoryError: unable to create new native thread
最近迁移集群,在hadoop-2.8.4 的yarn上跑 spark 程序 报了以下错误 java.lang.OutOfMemoryError: unable to create new native ...
- 剥下“java.lang.OutOfMemoryError: unable to create new native thread”的外衣 创建线程数公式(MaxProcessMemory - JVMMemory – ReservedOsMemory)
剥下“java.lang.OutOfMemoryError: unable to create new native thread”的外衣 星期一早上到了公司,据称产品环境抛出了最可爱的异常—OutO ...
- 解决java.lang.OutOfMemoryError: unable to create new native thread问题
解决:1.升级JVM到最新的版本 最新版本的JVM一般在内存优化方面做的更好,升级JVM到最新的版本可能会缓解测问题2.从操作系统层面去解决 使用64位操作系统 如果使用32位操作系统遇到unable ...
- 关于“java.lang.OutOfMemoryError : unable to create new native Thread”的报错问题
好吧 我发誓这是postgresql的Mirroring Controller的RT测试的最后一个坑了. 在这个RT测试的最后,要求测试Mirroring Controller功能在长时间运行下的稳定 ...
- 记一次内存溢出java.lang.OutOfMemoryError: unable to create new native thread
一.问题: 春节将至,系统访问量进入高峰期.随之系统出现了异常:java.lang.OutOfMemoryError: unable to create new native thread.在解决这个 ...
- [java] [error] java.lang.OutOfMemoryError: unable to create new native thread
前言 最近公司的服务器出现了oom的报错,经过一番排查,终于找到了原因.写下这篇博客是为了记录下查找的过程,也是为了帮助那些跟我门遇到的情况相同的人可以更快的寻找到答案. 环境 系统:linux(ce ...
- spark大批量读取Hbase时出现java.lang.OutOfMemoryError: unable to create new native thread
这个问题我去网上搜索了一下,发现了很多的解决方案都是增加的nproc数量,即用户最大线程数的数量,但我修改了并没有解决问题,最终是通过修改hadoop集群的最大线程数解决问题的. 并且网络上的回答多数 ...
- 再谈 Unlix (Linux, AIX, HPUX) 上 Java 的 java.lang.OutOfMemoryError: unable to create new native thread
首先很容易排除是 程序问题 内存用了很少,64 位 Java也没有内存限制,线程也不多,-Xss 堆栈也没人会配置很大. 那么肯定是 limit 不足引起 配置 ulimit 就可以了,问题看起来很简 ...
随机推荐
- 网络流第一题!!!BZOJ1001
歇逼了一晚上,懵懵懂懂的懂了Dinic算法 大概是一遍BFS+DFS,还不是很懂,明天继续看!!! #include<iostream> #include<stdio.h> # ...
- hbase 1.2.1 分布式安装
1.机器信息 五台centos 64位机器 2.集群规划 Server Name Hadoop Cluster Zookeeper Ensemble HBase Cluster Ip Hado ...
- Maven的课堂笔记1
1 什么是maven? Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理. Clean compile test package install run ...
- shell脚本--数值比较
用于数值比较的无非大于.小于.等于.大于等于.小于等于这几个. 比较格式: [ 数值1 比较符 数值2 ] 注意左边的括号与数值1之间有一个空格,同样,数值2和右边的括号之间也有空格. 数值比较运 ...
- shell脚本--输入与输出
输出带有转义字符的内容 单独一个echo表示一个换行 使用echo输出时,每一条命令之后,都默认加一个换行:要想取消默认的换行,需要加 -n 参数. #!/bin/bash #文件名:test.sh ...
- 牛客OI周赛7-普及组
https://ac.nowcoder.com/acm/contest/372#question A.救救猫咪 #include <bits/stdc++.h> using namespa ...
- HDU 2024 C语言合法标识符
http://acm.hdu.edu.cn/showproblem.php?pid=2024 Problem Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入 ...
- Building Java Projects with Gradle
https://spring.io/guides/gs/gradle/ Gradle学习系列教程 https://blog.csdn.net/column/details/gradle-transla ...
- ASP.NET MVC布局
一.Views文件夹 -> Shared文件夹下的 _Layout.cshtml 母版页 @RenderBody 当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合 ...
- 【转帖】互联网加密及OpenSSL介绍和简单使用
转帖:https://mritd.me/2016/07/02/%E4%BA%92%E8%81%94%E7%BD%91%E5%8A%A0%E5%AF%86%E5%8F%8AOpenSSL%E4%BB%8 ...