gpt4 book ai didi

AIX 中 java 线程数限制?

转载 作者:行者123 更新时间:2023-12-01 15:14:34 26 4
gpt4 key购买 nike

通过执行一个简单的循环创建线程java程序,当我使用 -Xmx2048M 时,AIX 的线程计数限制约为 900,当我将该参数减少到 -Xmx1024M 时,线程计数限制增加到 2000 左右。 ulimit 属性都是无限制的:ulimit -a时间(秒)无限制文件( block )无限数据(千字节)无限制堆栈(千字节)无限制内存(千字节)无限制coredump( block ) 无限nofiles(描述符) 无限线程(每个进程)无限制进程(每个用户)无限制

有人可以帮助我吗?谢谢

最佳答案

我的猜测是您有一个 32 位 JVM,其虚拟内存限制约为 2.8 GB(在保留操作系统和 JVM 库之后)。如果每个线程使用大约 900 KB,则使用 2 GB 堆可为大约 900 个线程留下虚拟内存。如果将堆大小减少到 1 GB,则会为大约 2000 个线程留下足够的虚拟内存。

尝试使用 64 位 JVM,因为我也猜测您有 64 位操作系统(32 位操作系统往往有较低的限制),或者减小最大堆栈大小。

在大多数操作系统上,64 位 JVM 的容量限制为大约 1 TB,我发现在遇到某些限制之前您可以创建大约 32K 线程(我还没有弄清楚是什么)

这是我写的关于 Linux 主题的文章 http://vanillajava.blogspot.co.uk/2011/07/java-what-is-limit-to-number-of-threads.html

关于AIX 中 java 线程数限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11813859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com