标签:result 垃圾 双击 jmeter report star 默认 使用 user
1、Jmeter内存溢出错误如下:
由于我使用jmeter测试时,使用的是GUI图形化界面,后台日志可以看到描述的是:“请不要使用GUI模式,如果仅用于测试创建和测试调试,使用cli模式(命令行模式)或者增大java堆内存去满足你的测试需求”
解决办法:
如果只是为了测试创建和调试,使用命令行模式即可,命令行模式也可以输出报告,然后可以通过jmeter的GUI界面打开查看。
Jmeter官方文档地址: https://jmeter.apache.org/usermanual/get-started.html
官方文档中说明:GUI图形化界面应该仅仅用于创建测试脚本也就是jmx文件,CLI模式用于负载测试
日志中提示可以使用如下命令运行CLI模式:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
官方文档中对参数的描述:
使用时,先根据jmeter的GUI界面创建任务保存为一个jmx文件,然后使用:
jmeter -n -t jmx文件路径 -l “指定结果输出的路径/result.jtl” -e -o "生成报告的输出文件夹"
例如:
jmeter -n -t "E:\jmeter\test.jmx" -l "E:\jmeter\任务_50.jtl" -e -o "E:\jmeter\jmeter0425"
windows环境下:
打开jmeter.bat文件:
可以看到图片中第一部分:描述堆内存大小,默认初始化堆内存和最大堆内存都是1g,最大元数据空间为256m。这个内存对于普通的电脑来说已经比较大了。
如果只是调整堆内存大小,可以修改“-Xms”和“-Xmx”的值。
根据jmeter.bat文件图中第二部分可以知道:GC垃圾回收默认使用的是G1GC并发垃圾回收器,最大GC暂停时间为100。
图中第三部分:描述的是当有OutOfMemory内存溢出时,输出当时jvm的堆内存信息到dump文件,在第一个报错的图中可以看到有dump文件生成。
windows环境默认生成路径在bin目录下。
使用java自带的jvisualvm工具打开查看堆dump文件。这里我们打开java_pid2332.hprof文件。
双击打开jvisualvm程序
点击文件,选择装入
在官方文档中查看TableSample类,
图中这句话翻译后:该类用来来保存TableVisualiser的数据,大概就是保存GUI图形化界面上的表格数据。
由此分析,如果使用GUI图形化界面去进行跑任务测试,并且添加了某些数据监视器,运行中的数据都会加载到jvm内存中,最终导致内存溢出。
所以最好还是根据官方文档中说的仅使用GUI图形化界面来创建任务的jmx文件,使用CLI命令行模式去运行任务。
标签:result 垃圾 双击 jmeter report star 默认 使用 user
原文地址:https://www.cnblogs.com/YpfBolg/p/14701503.html