JMeter 仪表板生成 Java 堆 Space

JMeter Dashboard Generation Java Heap Space

我已经能够使用 JMeter 为少量日志数据 (3mb) 创建仪表板。但是,当尝试创建包含大量数据 (35mb) 的仪表板时,jmeter 将抛出 java.lang.OutOfMemoryError: Java Heap Space.

到目前为止,我已经尝试创建一个名为 JVM_ARGS=-Xms1024m -Xmx10240m 的环境变量,但我仍然没有足够的 space。

还有什么我可以尝试创建这些仪表板的吗?或者有没有办法减少写入日志文件的条目数?

谢谢!

有两种可能:

  • 选项 1:不考虑您的 JVM 选项。显示 jmeter.log
  • 的第一行或全部内容
  • 选项 2:您已将一些动态参数添加到您的 http 请求中,这些参数创建了许多不同的(名称)SampleResult

编辑 2018 年 10 月 8 日:

  • 根本原因是选项 2
  1. 确保您确实创建了环境变量并且它具有预期值,通过运行中的以下命令仔细检查您将从中启动 JMeter 的终端 window:

    • echo %JVM_ARGS% 对于 Windows
    • echo $JVM_ARGS 对于 Linux/Unix/MacOS

      您应该会看到您增加的 JVM 堆设置

  2. 确保对 Windows 使用 jmeter.bat 或对其他操作系统包装脚本使用 jmeter.sh

  3. 确保使用64-bit version of JRE因为32位将无法分配超过3G的堆

  4. 确保您可以使用 10G 堆

    执行 java 命令
    java -Xms1024m -Xmx10240m -version
    

    你应该看到你的 Java 版本

  5. 尝试运行 ApacheJMeter.jar直接执行:

    java -Xms1024m -Xmx10240m -jar ApacheJMeter.jar -g result.jtl -o destination_folder
    
  6. 如果没有任何帮助,请注意您可以使用 JMeterPluginsCMD Command Line Tool (it is not a part of standard JMeter installation, can be installed using JMeter Plugins Manager)

    生成 tables/charts