我的测试执行显示" gc内存开销超过"在linux cent os 7中的异常。我改变了jmeter.bat的堆最大大小为6g,最小大小为512m。我没有使用任何监听器,预处理器,http头管理器。使用正则表达式提取器为2个采样器和常量计时器作为常见。我在终端运行我的测试并将结果存储在jtl文件中。我为250个用户运行它,加速期为1,调度程序为5400秒。但仍然存在问题.. 系统配置: Ram 8 GB CPU octa核心3.12 GHz 交换内存16 GB
答案 0 :(得分:2)
您说您更改了 jmeter.bat ,但问题出在 Linux 上,它不使用jmeter.bat。除非是拼写错误,否则请尝试更改jmeter或jmeter.sh(无论您使用哪个来调用JMeter)。
一般来说,我建议不要超过2GB用于中度使用,4GB用于大量使用。例如我的设置是:
HEAP="-Xms4096m -Xmx4096m"
即使在GUI模式下,我也可以运行多达300个并发用户和大量采样器/重脚本。设置较大的堆可能会导致GC更大的暂停,这可能会导致您获得异常。
启动JMeter后,运行以下命令以确保内存设置确实如您所愿:
ps -ef | grep JMeter
答案 1 :(得分:0)
我实际上在jmeter.bat文件而不是jmeter.sh文件中更改了Xmx,因为我使用linux进行此测试。 Windows os支持Jmeter.bat,Linux os支持jmeter.sh。这样就发生了上述错误。一旦我在jmeter.sh文件中更改它,它就能完美运行。