检查系统限制,并根据须要修改太低的值:java
echo
"100000"
> /proc/sys/kernel/threads-max
linux
echo
"100000"
> /proc/sys/kernel/pid_max (默认
32768
)
api
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