You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter非GUI模式24小时Soak Test运行12小时后闲置问题排查

JMeter 24小时稳定性测试闲置停滞问题排查

我已配置JMeter以非GUI模式运行24小时的稳定性测试(Soak Test),参数设置为:rampup=0、循环次数=1、并发用户数=10。但测试运行12小时后,JMeter陷入闲置状态长达11小时,直到第23小时我在命令行按下回车键才恢复运行。期间系统CPU使用率为0,无任何操作。此前相同配置的测试未出现该问题,现求助排查:

  1. 可能的故障原因
  2. 日志检查位置及日志解读方法

附:闲置时命令行截图显示界面停滞,无任何输出更新


一、可能的故障原因

  • 控制台输入阻塞:Windows命令提示符或Linux终端在长时间无输出时,可能触发系统级的输入挂起机制,进程陷入等待输入的状态,按下回车相当于唤醒了阻塞的进程。
  • 线程挂起/死锁:尽管循环次数设为1,但如果测试请求存在未处理的异步回调、连接池死锁,或依赖的外部服务无响应且未设置超时,可能导致线程挂起,表现为进程闲置。
  • 系统电源管理干扰:系统电源计划(如硬盘待机、进程休眠)可能在长时间无磁盘IO时挂起JMeter进程,尤其是笔记本电脑或启用了节能模式的服务器。
  • JMeter或JVM潜在问题:特定版本JMeter的非GUI模式存在bug,或JVM的垃圾回收机制异常(虽CPU闲置,但需排查是否有Full GC停顿)。
  • 第三方插件冲突:若测试计划使用了第三方插件,插件的线程逻辑可能存在内存泄漏或死锁,长时间运行后触发挂起。

二、日志检查位置及解读方法

日志文件位置

  • 默认日志文件jmeter.log位于JMeter安装目录的bin文件夹下。
  • 若启动时通过-j /自定义路径/日志文件名.log指定了日志路径,需到对应路径查找。

日志解读要点

  • 重点搜索关键词:
    • 挂起前后的ERROR、WARN日志,排查是否有连接超时、线程异常、资源耗尽的提示。
    • 搜索Thread started、Thread finished,确认10个用户线程是否正常启动/结束,是否有线程卡在某个执行步骤。
    • 若启用了JVM GC日志,查找GC相关记录,确认是否存在长时间GC停顿导致的假死。
  • 时间线定位:对比日志最后一条输出的时间与闲置开始时间,定位挂起发生的节点,查看该节点前后的日志,判断是请求执行阶段还是线程收尾阶段出现问题。
  • 调试日志辅助:若需要更详细的线程执行信息,可在启动JMeter时添加-LDEBUG参数开启调试日志,查看每个Sampler或处理器的执行细节,定位卡顿点。

内容的提问来源于stack exchange,提问作者CGA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 16:52:36