CentOS 上运行 JMeter 报错的快速排查与修复
一、先定位错误类型
二、常见报错与对应修复
权限不足 Permission denied
对 JMeter 目录授予可执行权限:chmod -R 755 apache-jmeter-<版本>。
Java 内存不足 Cannot allocate memory / There is insufficient memory
现象:启动或运行中出现 “OpenJDK … error=‘Cannot allocate memory’” 并生成 hs_err_pid.log*。处理:释放机器内存或调小 JMeter 堆(见下一节),确保可用内存≥1–2 GB 再运行。
分布式连接被拒 Connection refused / timeout
要点:确认 server_port(默认 1099)与 server.rmi.localport 一致;在 jmeter.properties 可设置 server_port=1567、server.rmi.localport=1567;控制机 remote_hosts=IP:端口。放通防火墙或临时停止:firewall-cmd --state、systemctl stop firewalld;必要时禁用开机自启:systemctl disable firewalld。
双网卡或回环地址导致 RMI 绑定错误
启动执行机时显式指定本机 IP:./jmeter-server -Djava.rmi.server.hostname=本机IP。
缺少 SSL 密钥文件 rmi_keystore.jks
在 bin/jmeter.properties 将 server.rmi.ssl.disable 设为 true(测试环境常用)。
hostname 与 /etc/hosts 不一致导致控制机收不到回连
检查 slave 的 hostname 与 /etc/hosts 映射是否一致。
远程执行卡住或提示 Engine is busy
先使用控制机 “Remote Stop all” 结束远程残留进程,再重启 jmeter-server;多网卡/无线与有线并存时易触发,确保网络与绑定一致。
运行日志长时间停在 “Waiting for possible shutdown message on port 4445”
多为 HTTP 请求未设超时导致无限等待;在 HTTP Request Defaults → Advanced 设置 Connect 与 Response 超时(如 10000 ms),并尽量升级到较新版本 JMeter。
三、环境与启动参数建议
四、分布式专项检查清单
五、最小复现与求助信息准备