首页 > 解决方案 > 测量仪 | Java 内存不足问题

问题描述

我在 Jmeter 中使用 WebSocket 连接,我在单个 JMX 文件中使用 2000 个用户。我已将这些 JMX 文件复制到 5 台客户端计算机中,并使用 bat 文件触发客户端计算机。但是 JMX 在前 5 到 10 分钟内运行平稳。一段时间后,我收到“Java 内存不足错误,无法创建新线程”。我在 JMeter.sh 文件中设置了正确的 JVM_ARGS。有谁知道为什么会发生这个异常?

标签: jmeterjvm

解决方案


根据我的观点,这是因为 JMeter 消耗了所有默认分配的内存。以下是一些快速解决此问题的解决方案。

  1. 默认情况下,Jmter 有权使用仅有的 512mb 的 HEAP 空间。因此,只需增加尺寸并检查如下。在 JMeter 安装文件夹中找到 JMeter bat 文件(在 Windows 中)并使用文本编辑器打开它。
    然后找到这一行 - HEAP="-Xms512m -Xmx512m"
    现在只需根据要求更改这些数量。


  2. 在CLI模式下运行测试用例。
    当谈到 GUI 模式时,它会为接口和其他 GUI 东西消耗一些内存量。使用 CLI 可以节省一些内存量。


  3. 减少您使用的听众数量。
    侦听器会在测试计划中产生额外的开销。因此,尽量选择较少数量的列表并明智地选择它们。


推荐阅读