我尝试用jmeter做一些负载测试,负载大约在10000到15000之间。当我尝试在命令行中运行脚本时,我得到内存不足异常。我读到过你可以在JMeter批处理文件中增加JVM内存,并在JMeter批处理文件中修改堆大小,最多占总内存的80%。所以我假设有两个文件要编辑。有人能确认我应该编辑哪个文件吗?我在一个12GB RAM的机器上运行jmeter,目前还没有设置任何分布式测试的方法。那么什么是正确的方法来分配更多的内存给jmeter呢?
j1dl9f461#
OutOfMemoryError异常有很多面,但只有一个面与堆空间不足有关。如果您认为这是您的情况:你不需要编辑任何文件来改变堆的大小,设置HEAPenvironment变量就足够了窗口:
HEAP
set HEAP=-Xms1g -Xmx10g -XX:MaxMetaspaceSize=256m && jmeter.bat
Unix及其衍生产品:
export HEAP=-Xms1g -Xmx10g -XX:MaxMetaspaceSize=256m && ./jmeter.sh
如果您想使更改永久生效-找到以下行并相应地修改它们:
jmeter
提供了JMeter 5.5的行号但是,请注意,堆大小越大,garbage collection需要的时间就越多,而且在此期间,JMeter很可能不会发送任何请求。
1条答案
按热度按时间j1dl9f461#
OutOfMemoryError异常有很多面,但只有一个面与堆空间不足有关。如果您认为这是您的情况:你不需要编辑任何文件来改变堆的大小,设置
HEAP
environment变量就足够了窗口:
Unix及其衍生产品:
如果您想使更改永久生效-找到以下行并相应地修改它们:
jmeter
文件的第166行提供了JMeter 5.5的行号
但是,请注意,堆大小越大,garbage collection需要的时间就越多,而且在此期间,JMeter很可能不会发送任何请求。