本机内存分配(malloc)无法为ChunkPool :: allocate分配32756字节

时间:2018-06-28 08:33:13

标签: jmeter jmeter-3.2

我们有一个 JMeter 测试,它会在给出以下错误消息之间停止

enter image description here

当我以100,200和300个用户的负载运行测试时,它运行良好

我发现了一个问题jmeter test failed with out of memory error,但这无助于解决问题。

尝试在具有 12 GB RAM 16 GB RAM 的计算机上运行此程序。

它表现出来的可能原因是什么?

即使在测试停止的地方,也试图在非GUI模式下运行。

Non GUI mode

3 个答案:

答案 0 :(得分:1)

  1. 不要在GUI模式下运行测试,根据终端输出的第一行,您应该使用non-GUI mode来运行测试。 GUI模式仅用于测试开发或调试。
  2. 请确保使用64-bit Java JDK or Server JRE,您需要选择window.location.href选项
  3. 通过修改Increase your JVM Heap来更改
  4. HEAP environment variable的大小,例如:

    Windows x64
  5. 请确保遵循JMeter Best Practices文章中的9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure和建议

答案 1 :(得分:0)

我必须在jmeter.bat(批处理文件)中添加以下代码

set JVM_ARGS=-Xms512m -Xmx8000m

我在这里添加了

    if not defined HEAP (
    rem See the unix startup file for the rationale of the following parameters,
    rem including some tuning recommendations
    set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=8000m 

)
set JVM_ARGS=-Xms512m -Xmx8000m 

然后一切正常。

答案 2 :(得分:0)

正如 Dimitri's answer 提到的,不要使用 GUI,它应该只用于测试或调试。但这似乎不是 OP 的问题。

就我而言,我遇到了 2 次不同的问题,有 2 种不同的解决方案:

  1. 我一直在使用 GUI 进行测试,安静了一段时间,还打开了一些输出文件,总共大约 1 GB。关闭 GUI 和那些文件给了我足够的内存来通过命令行运行。

  2. 我将堆大小增加到 4GB,但出现错误 The paging file is too small for this operation to complete。所以我增加了系统的页面文件大小并且能够运行 Jmeter。有关如何增大系统页面大小的信息,请参阅 this link