Debian Java线程限制为630个线程

时间:2019-11-07 18:12:15

标签: java linux debian

因此,我们的V服务器上运行了一些游戏服务器(我正在谈论的是具有4.2GHz和32GB DDR4 RAM的8vCore),例如Minecraft。我们的问题是服务器在大约640个线程处耗尽内存(它不在乎哪个堆栈大小,1024KB,512KB都是相同的结果)。那么有什么办法可以从我们的系统中获取更多的线程?

Linux:Debian 9 Virtuozzo容器
Java:
openjdk版本“ 1.8.0_232”
OpenJDK运行时环境(内部版本1.8.0_232-8u232-b09-1〜deb9u1-b09)
OpenJDK 64位服务器VM(内部版本25.232-b09,混合模式)

systemd / system.conf:
DefaultTasksMax = infinity

ulimit -a:
核心文件大小(块,-c)0
数据段大小(千字节,-d)无限
调度优先级(-e)0
文件大小(块,-f)无限
待处理信号(-i)3088273
最大锁定内存(千字节,-l)64
最大内存大小(千字节,-m)无限制
打开文件(-n)1024
管道大小(512字节,-p)8
POSIX消息队列(字节,-q)819200
实时优先级(-r)0
堆栈大小(KB,-s)8192
cpu时间(秒,-t)无限
最大用户进程(-u)62987
虚拟内存(千字节,-v)无限
文件锁(-x)无限

就是这样。

java -Xss512k DieLikeADog(但堆栈大小没有区别) 错误是:
新线程#634
线程“主”中的异常java.lang.OutOfMemoryError:无法创建新的本机线程
        在java.lang.Thread.start0(本机方法)
        在java.lang.Thread.start(Thread.java:717)
        在DieLikeADog.main(DieLikeADog.java:20)
被杀
使用此线程中的线程创建工具:
How many threads can a Java VM support?

最好的问候

1 个答案:

答案 0 :(得分:0)

与所有这些设置和配置相比,您确实应该能够比它高得多。

我建议这是主机提供商对您的计算机施加的限制。

这并非闻所未闻,例如,请参见以下超级用户问题:

https://superuser.com/questions/360000/613-threads-limit-on-debian

提供以下后续自我解答:

  

”仅获得以下信息:这是由   我的托管服务提供商。”