JVM: can not create native thread

检查系统限制,并根据需要修改过低的值:

echo "100000" > /proc/sys/kernel/threads-max

echo "100000" > /proc/sys/kernel/pid_max     (默认32768

echo "200000" > /proc/sys/vm/max_map_count   (默认65530

ulimit -u 65536   (设置max user processes的值, 默认4096  每次logout后失效)

持久化修改  /etc/security/limits.d/20-nproc.conf      # 实际测试修改/etc/security/limits.conf 并不生效
*          soft    nproc     65535                              #max user processes
如果问题依然存在,继续 
  ulimit -s 512                            (默认8096)
  设置java命令行参数: java  -Xss512k  -Xmx=1g .....           #将Xss512k与上面的linux stack 512 大小设置一致。
 
运行附件中程序,可直接显示最大线程数。
查看java JVM默认参数:
java -XX:+PrintFlagsFinal
      Xmx > MaxHeapSize
原文地址:https://www.cnblogs.com/crabo/p/6386145.html