• unable to create new native thread


    nested exception is java.lang.OutOfMemoryError: unable to create new native thread

     

     

    这个错误是因为无法再创建新线程导致的,原因可能是没有更多的空间用于创建线程,还有一个公式用来计算:

    (MaxProcessMemory - JVMMemory - ReservedOsMemory) / (ThreadStackSize) = Number of threads

     

     

    这其中各个参数的意思是:
      MaxProcessMemory:进程最大寻址空间。
      JVMMMEMORY:jvm的内存空间(堆+永久区)-Xmx大小 (应该是实际分配大小)
      ReservedOsMemory:操作系统预留内存
      ThreadStackSize:-Xss大小

     

    Xss与线程个数

    Xss越大,每个线程的大小就越大,占用的内存越多,能容纳的线程就越少。

    Xss越小,则递归的深度越小,容易出现栈溢出 java.lang.StackOverflowError。

    减少局部变量的声明,可以节省栈帧大小,增加调用深度。

  • 相关阅读:
    Interesting Finds: 2008.03.19
    Interesting Finds: 2008.03.11
    Interesting Finds: 2008.03.27
    Interesting Finds: 2008.03.21
    每日日报
    每日日报
    每日日报
    每日日报
    idea怎么创建properties文件
    移动端rem.js
  • 原文地址:https://www.cnblogs.com/muzhongjiang/p/13722594.html
Copyright © 2020-2023  润新知