温馨提示×

JMeter在Ubuntu上如何监控系统资源

小樊
40
2025-11-28 22:50:32
栏目: 智能运维

在 Ubuntu 上使用 JMeter 监控系统资源的实用方案

方法一 PerfMon 插件直连 ServerAgent(推荐)

  • 在 JMeter 端安装插件

    1. jmeter-plugins-manager-*.jar 放入 $JMETER_HOME/lib/ext 并重启 JMeter;2) 打开 Options → Plugins Manager,搜索并安装 PerfMon (Servers Performance Monitoring);3) 在监听器添加 jp@gc - PerfMon Metrics Collector。该方案可实时绘制 CPU、内存、磁盘 I/O 等曲线。
  • 在被测 Ubuntu 服务器部署并启动 ServerAgent

    1. 从 GitHub Releases(undera/perfmon-agent)下载 ServerAgent 并解压;2) 赋权并启动:
      chmod +x startAgent.sh
      ./startAgent.sh
      默认监听 4444 端口;如需更换端口:
      ./startAgent.sh --udp-port 9003 --tcp-port 9003 &
      建议后台运行:
      nohup ./startAgent.sh &
    2. 如需指定 Java 与内存:
      java -Xms512m -Xmx1024m -jar ./CMDRunner.jar --tool PerfMonAgent --port 4444
    3. 验证端口监听:ss -lntp | grep 4444(应看到 Java 进程监听)。
  • 在 JMeter 中配置并查看监控

    1. 监听器 jp@gc - PerfMon Metrics Collector → Add Row;2) 填写 Host/IP(被测服务器 IP)、Port(如 4444)、Metric to collect(CPU、Memory、Disks I/O 等);3) 运行测试即可实时查看曲线;4) 可勾选“Save Table Data”导出 CSV,测试结束在图表界面 Load CSV 复盘。
  • 常见问题与排查

    1. 端口被占用或拦截:更换端口(如 9003),并在 Ubuntu 放行:sudo ufw allow 9003;2) 连接失败:在 JMeter 机器测试连通性(telnet 或 nc),确认 ServerAgent 已启动且监听正确端口;3) Java 版本:确保 Java 8+;4) 稳定性:大量指标时适当增加 ServerAgent 堆内存。

方法二 不依赖 JMeter 插件的辅助监控

  • 使用 nmon:在 Ubuntu 安装(sudo apt-get install nmon),运行 nmon 后按 c/m/d 分别查看 CPU/内存/磁盘,适合与 JMeter 测试并行记录基线。
  • 使用 jconsole(JDK 自带):本地直接运行 jconsole;远程监控需在目标 JVM 启动参数加入 -Dcom.sun.management.jmxremote 等(生产慎用,注意安全)。

实践建议

  • 监控范围建议包含:CPU(总体与 per-process)内存(usedperc/freeperc)磁盘 I/O(reads/writes、readbytes/writebytes、queue),便于定位瓶颈。
  • 非 GUI 压测时同样可收集资源图:在 jp@gc - PerfMon Metrics Collector 中启用结果文件输出,压测结束后在图表界面 Load CSV 复盘;如需 HTML 报告,可结合 JMeter 的 -l-e -o 生成。

0