OutOfMemoryError: unable to create new native thread

决定当前用户程序能够创建多少线程由2个因素决定 
1. 用户环境允许的线程数 
cat /etc/security/limits.d/90-nproc.conf

  • soft nproc 1024 
    root soft nproc unlimited

表示非root用户最多只能开1024

  1. 内存容量 
    (MaxProcessMemory - JVMMemory - ReservedOsMemory) / (ThreadStackSize) = Number of threads 
    jdk7默认线程栈需要1m内存, 假设系统总可用内存为1G, 分配给jvm 是512m,操作系统保留120M内存, 
    最多可以开400左右的线程

3.可以通过pstree, jstack 去查看进程线程数量

相关文章:

  • 2021-06-30
  • 2022-01-22
  • 2021-11-20
  • 2021-12-11
  • 2021-09-20
  • 2021-10-10
  • 2022-12-23
  • 2021-05-31
猜你喜欢
  • 2021-09-23
  • 2022-12-23
  • 2021-09-24
  • 2021-09-23
  • 2021-08-02
  • 2021-12-08
  • 2022-12-23
相关资源
相似解决方案