在 CentOS 上“调试 JMeter 参数”,通常包含几个层面:命令行参数、JVM 参数、JMeter 属性/变量、以及脚本逻辑调试。下面按常见场景说明。
jmeter -?
或
jmeter --help
常见参数:
-n:非 GUI 模式-t:指定 jmx 脚本-l:结果文件-j:日志文件-e -o:生成 HTML 报告示例:
jmeter -n -t test.jmx -l result.jtl -j jmeter.log
JMeter 是 Java 程序,性能问题常和 JVM 有关。
编辑:
$JMETER_HOME/bin/jmeter
或(推荐):
$JMETER_HOME/bin/jmeter.sh
设置:
export JVM_ARGS="-Xms1g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError"
或直接在命令前:
JVM_ARGS="-Xmx2g -Xms1g" jmeter -n -t test.jmx
JVM_ARGS="-Xloggc:/tmp/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps" jmeter
jmeter -n -t test.jmx -JmyVar=123
在脚本中引用:
${__P(myVar)}
使用 Debug Sampler + View Results Tree
在 GUI 中:
运行后可以看到:
编辑:
$JMETER_HOME/bin/log4j2.xml
改:
<Root level="info">
为:
<Root level="debug">
tail -f jmeter.log
jmeter -n -t test.jmx -l test.jtl -Jthreads=1 -Jloop=1
jmeter -n -t test.jmx -l test.jtl -Lorg.apache.jmeter=DEBUG
If Controller 控制✅ 用 Debug Sampler 看变量
✅ 检查 ${__P(var)} 还是 ${var}
✅ 调 -Xmx
✅ 减少线程数
✅ 关掉 View Results Tree(GUI 调试才用)
✅ 用 -n 非 GUI
✅ 不要用 GUI 远程压测
-Jthreads=1如果你有具体场景(比如:
可以贴出 命令 + 日志 + jmx 片段,我可以帮你精确分析。