jmeter执行内存错误

问题:录制jmeter脚本,出现内存异常,执行不成功
报错内容如下:

WARNING: package sun.awt.X11 not in java.desktop
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
   jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
   Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
Warning: Nashorn engine is planned to be removed from a future JDK release
[63.463s][warning][os,thread] Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 4k, detached.
Uncaught Exception java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached in thread Thread[HTTP Proxy Daemon,6,main]. See log file for details.[]()

参考GPT和自己的思路:在执行jmeter脚本时出现内存异常,这个问题可能是由于线程数过多导致的。你可以通过以下步骤解决:

1.使用CLI模式而非GUI模式来运行jmeter脚本,因为GUI模式只用于测试脚本的创建和调试,而不用于负载测试。

2.增加Java堆的大小以满足您的测试需求,可以在jmeter批处理文件中修改当前环境变量HEAP的大小。例如,将HEAP设置为“-Xms4g -Xmx4g -XX:MaxMetaspaceSize=256m”可以增加Java堆的大小。

3.检查主机的资源限制是否已经达到,例如您可以使用top或htop命令来检查系统中的进程数量和内存使用情况。

如果仍然发生内存异常错误,可以增加线程的堆栈大小或使用不同的参数来启动线程。例如,使用“-Xss256k”来增加堆栈大小。