经常遇到的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]]$ ulimit -a

core filesize          (blocks, -c) 0

data segsize           (kbytes, -d)unlimited

schedulingpriority            (-e) 0

filesize              (blocks, -f) unlimited

pendingsignals                (-i) 256636

max lockedmemory       (kbytes, -l) 64

max memorysize         (kbytes, -m) unlimited

openfiles                     (-n) 65536

pipesize            (512bytes, -p) 8

POSIX messagequeues     (bytes, -q) 819200

real-timepriority             (-r) 0

stacksize             (kbytes, -s) 10240-----可以减小这个,建议在jvm
–xss中减少

cputime              (seconds, -t) unlimited

max userprocesses             (-u) 1024-----可以增加这个到32000

virtualmemory          (kbytes, -v)unlimited

filelocks                     (-x) unlimited

修改/etc/security/limits.conf

*    soft    nofile    65536

*    hard    nofile    65536

xxx soft nproc  32000

xxx hard nproc  32000

xxx soft stack  1024

xxx hard stack  1024

时间: 2024-08-09 10:25:01

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

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

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

关于“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

再谈 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

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