关于“java.lang.OutOfMemoryError : unable to create new native Thread”的报错问题

转自:https://www.cnblogs.com/flying-tiger/p/5956926.html

java.lang.OutOfMemoryError : unable to create new native Thread.

具体截图如下:

在查看日志文件的时候,也有以下出错信息:

Error occurred during initialization of VM...

经过百度,找到方法:

既然报“OutOfMemoryError”,而且还是“ unable to create new native Thread.”,那么很可能是程序申请的Thread数超过了系统能够承载的限制。但是作为一台性能还不错的服务器,没理由系统资源不够用啊?

好的,那我们用ulimit命令查看一下系统的对进程资源的控制:

ulimit -a  

输出如下:

似乎是max user processes数不足?
还是使用ulimit 命令,把max user processes放大一倍试试:

ulimit -u 2048  (使用postgres用户运行该命令)

得到:

(这里值得说一下,因为我这里只是想临时改变当前shell的设置,要是想永久设置要修改/etc/security/limits.conf文件,请自行百度)。

修改完之后再运行:

原文地址:https://www.cnblogs.com/zuizui1204/p/9593659.html

时间: 2024-10-10 06:07:02

关于“java.lang.OutOfMemoryError : unable to create new native Thread”的报错问题的相关文章

Hive java.lang.OutOfMemoryError: unable to create new native thread异常

最近在同一时刻执行多个hive -e 操作时,出现了java.lang.OutOfMemoryError: unable to create new native thread异常 或Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreCl

再谈 Unlix (Linux, AIX, HPUX) 上 Java 的 java.lang.OutOfMemoryError: unable to create new native thread

首先很容易排除是 程序问题 内存用了很少,64 位 Java也没有内存限制,线程也不多,-Xss 堆栈也没人会配置很大. 那么肯定是 limit 不足引起 配置 ulimit 就可以了,问题看起来很简单,但是问题为什么有时候难以解决,因为涉及 Uinux 下面因素 到底那一个 limit 控制 到底 soft 还是 hard 设置在 /etc/security/limits.conf, 还是用户 Profile 如果是 crontab 启动又如何配置 澄清概念 Java 线程数多少是受 max

HBASE遇到的java.lang.OutOfMemoryError: unable to create new native thread解决方法

简单分享一下,类似问题的解决方法 刚才在某机器上上xxx用户下压测时遇到这个问题,连xxx都进不去了 说明xxx用户下无法创建跟多的线程了(当然root用户没这个问题) 系统能够创建的最大线程数:(MaxProcessMemory - JVMMemory – 系统内存) / (ThreadStackSize) = Number of threads 有两种方式: 减少xxx下的ThreadStackSize 增加xxx下的nproc数量 修改 [[email protected]]$ ulimi

经常遇到的java.lang.OutOfMemoryError: unable to create new native thread解决方法

简单分享一下,类似问题的解决方法 刚才在某机器上上xxx用户下压测时遇到这个问题,连xxx都进不去了 说明xxx用户下无法创建跟多的线程了(当然root用户没这个问题) 系统能够创建的最大线程数:(MaxProcessMemory - JVMMemory – 系统内存) / (ThreadStackSize) = Number of threads 有两种方式: 减少xxx下的ThreadStackSize 增加xxx下的nproc数量 修改 [[email protected]]$ ulimi

java.lang.OutOfMemoryError: unable to create new native thread

tomcat的web项目压力测试时,测试了几秒钟,web服务开始无响应.tomcat的日志中看到如下错误: 查了以下该process开启的线程数为3366 $ pstree -p 22750 | wc -l 3366 而此时内存消耗量并不大,然后又用 ulimit -a查看了各个限制,发现 max user processes 才4096. 然后修改 /etc/security/limits.conf ,下方添加以下内容(webadmin是启动tomcat的用户): root - nofile

Spark - ERROR Executor: Exception in tjava.lang.OutOfMemoryError: unable to create new native thread

如果你的Spark程序在执行过程中报出如下类似的错误: ERROR Executor: Exception in task xxx in stage xxx java.lang.OutOfMemoryError: unable to create new native thread 那么可能性非常大的原因是你当前通过spark-submit或spark-sql启动的程序中开启了过多的进程,以至超过了操作系统对当前用户所允许打开的进程数的上限.确定这个问题的方法是这样的: 首先,通过命令: uli

JVM虚拟机宕机_java.lang.OutOfMemoryError: unable to create new native thread

原因:当前用户的系统最最大程序数数已达到最大值,使用ulimit -u可以看到是1024   解决办法:在当前用户下使用ulimit -u 65535 然后再执行jsp,一切ok 功能说明:控制shell程序的资源.语 法:ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大 小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆叠大 小>][-

java.lang.OutOfMemoryError: unable to create new native thread(转)

解决 - java.lang.OutOfMemoryError: unable to create new native thread 工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题.分析问题.解决问题. 一.认识问题: 首先我们通过下面这个 测试程序 来认识这个问题: 运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP, 1.5.0_22, myeclipse 6.6, 测试程序: Java代码 import

解决 - java.lang.OutOfMemoryError: unable to create new native thread (转载)

一.认识问题: 首先我们通过下面这个 测试程序 来认识这个问题: 运行的环境 (有必要说明一下,不同环境会有不同的结果):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