【问题标题】:Debian Java Thread Limit at 630 ThreadsDebian Java 线程限制为 630 个线程
【发布时间】:2020-03-04 09:20:18
【问题描述】:

所以我们的 V-Server 上运行了一些游戏服务器(我所说的那个有 8vCores 和 4.2GHz 和 32GB DDR4 RAM),例如 Minecraft。我们的问题是服务器在大约 640 个线程时内存不足(它不关心哪个堆栈大小,1024KB,512KB 都是相同的结果)。那么有没有办法让我们的系统产生更多的线程呢?

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

systemd/system.conf:
DefaultTasksMax=infinity

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

最好的问候

【问题讨论】:

  • DieLikeADog 测试的重要部分是错误消息之前的最后一行。指示可以创建多少个线程。当然还有使用的命令行。
  • 谢谢@MattiasIsegranBergander 编辑它
  • A few 实用笔记...

标签: java linux debian


【解决方案1】:

使用所有这些设置和配置,您确实应该能够走得更高。

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

这并非闻所未闻,例如查看这个超级用户问题:

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

以下后续自我回答:

"刚刚得到以下信息:这是由 我的主机提供商。”

【讨论】:

    猜你喜欢
    • 2019-03-15
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 2011-02-17
    • 2013-01-17
    相关资源
    最近更新 更多