java - 即使将堆大小增加到最大值后,Jmeter 也会出现超过 2000 个线程的 java.lang.OutOfMemoryError

标签 java jmeter out-of-memory heap-size

我正在使用并发线程组对我的目标运行负载测试。我还将堆大小增加到 6GB。现在,当我运行脚本时,它给出了超过 2000 个线程

Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 4k, detached.
Uncaught Exception java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached. See log file for details.

我尝试将堆大小从 512MB 更改为 8GB,但每次都不能超过 2000 个线程

最佳答案

该错误意味着底层操作系统无法创建新线程,因此您需要调整操作系统以允许为进程/当前用户创建更多线程。

如果您对运行 JMeter 的计算机没有管理员/root 访问权限,则必须使用 distributed testing因为您将无法克服操作系统对进程数量的限制。修改 JMeter 的 HEAP 没有帮助。

关于java - 即使将堆大小增加到最大值后,Jmeter 也会出现超过 2000 个线程的 java.lang.OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57359063/

相关文章:

java - 完全测试算法输出(动态规划最长子序列)

variables - 用于每个 Controller 的 JMeter 正则表达式提取器

java - 如何强制执行: button. setImageResource(R.drawable.x_sign)?

python - 将 LocustIO 集成到 Jenkins 的性能插件中

csv - 如何将变量作为文件名传递给jmeter CSV数据集配置?

java - Netbeans 默认选项,使用更多内存启动 jvm

android - 在 Android 中发布巨大的 JSON 对象

java - 使用大型数据结构时,避免 Java(eclipse) 中的 "out of memory error"吗?

java - Android 权限。INTERACT_ACROSS_USERS 拒绝

java - 在 JButton 上显示 Unicode 字符