【问题标题】:Jmeter sampler 'v1/pages/...' produces 'java.lang.OutOfMemoryError: Java heap space' errorJmeter 采样器 'v1/pages/...' 产生 'java.lang.OutOfMemoryError: Java heap space' 错误
【发布时间】:2021-02-01 13:03:27
【问题描述】:

当我在 Azure 管道上使用 100 个线程运行 JMeter 测试时,我收到“java.lang.OutOfMemoryError: Java heap space”错误。我试图增加 HEAP:

set HEAP=-Xms512m -Xmx2048m

甚至更多但没有效果。

我注意到采样器“v1/pages/...”产生了这个堆错误。我无法找到有关这种采样器的任何信息,所以我有两个问题:

  1. 值得保留这个采样器吗?也许它不是那么重要,删除它会解决我的问题。 这个“v1/pages”来自“//content-autofill.googleapis.com/v1/pages/”,看起来没什么重要的

  2. 您知道处理此 HEAP 错误的任何其他方法吗?每个人都在说增加这个 Xmx 中的值,但这对我不起作用。

提前致谢!

【问题讨论】:

    标签: jmeter heap-memory


    【解决方案1】:
    1. 这个v1/pages只是一个标签,不要浪费时间去搜索它,采样器标签可能完全不同:

      如果您打开.jtl results file,您应该会看到请求的 URL,一旦您弄清楚这一点,您就可以决定是否保留它。

      一个可能的原因是这个请求返回的响应很大,不适合内存,如果是这种情况并且您对响应不太感兴趣 - 您可以勾选“将响应保存为 MD5 哈希” :

    2. 修复“Java heap space”错误的方法有两种:

      • 减少堆使用,即使用 MD5 总和查看此提示或考虑使用 Distributed Testing
      • 增加堆大小。例如 2 GB 可能不够,如果您有足够的 RAM,请尝试分配更多堆。此外,如果您的管道在 Linux 上运行,您需要稍微修改您的命令,使其看起来像:HEAP=-Xms512m -Xmx2048m && export HEAP && ./jmeter -n -t test.jmx ......

    【讨论】:

    • 您好,感谢您的回复。我检查了这个 v1/pages,它来自“//content-autofill.googleapis.com/v1/pages/”。您认为这很重要并保留此采样器吗?
    • 我不这么认为,如果您不是测试其自动填充功能的 Google 工程师,您应该将这些对 googleapis.com(和任何其他外部域)的请求排除在负载测试范围之外,它包括任何第 3 方图像、横幅等。更多信息:Excluding Domains from the Load Test。但是,您也应该解决此 OOM 错误,因为它表明您的 JMeter 设置存在某些问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2010-09-07
    • 2012-08-03
    相关资源
    最近更新 更多