在 CentOS 上调整 JMeter 的内存,主要是通过修改 JMeter 的启动脚本中的 JVM 堆内存参数 来实现。
JMeter 是 Java 程序,主要看这几个 JVM 参数:
-Xms:JVM 初始堆内存-Xmx:JVM 最大堆内存-XX:MaxMetaspaceSize(JDK 8+):元空间大小JMeter 安装目录一般为:
/opt/apache-jmeter-5.x/bin/
内存配置在:
bin/jmeter
或(Windows 是 jmeter.bat,Linux 用这个):
bin/jmeter
但官方推荐修改:
bin/jmeter.sh # 实际是 jmeter 的同名文件
编辑 jmeter 文件:
vi /opt/apache-jmeter-5.x/bin/jmeter
找到这一行(不同版本略有差异):
: "${HEAP:="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"}"
修改为(示例:4G 内存):
: "${HEAP:="-Xms4g -Xmx4g -XX:MaxMetaspaceSize=512m"}"
保存退出:
:wq
如果你不想改脚本,可以在启动前设置:
export HEAP="-Xms4g -Xmx4g -XX:MaxMetaspaceSize=512m"
./jmeter -n -t test.jmx
./jmeter -n -t test.jmx \
-JXms=4g -JXmx=4g
⚠️ 这种方式不一定生效,还是改 HEAP 最稳。
如果你是 CentOS 无桌面,不建议用 GUI:
./jmeter # GUI
压测请用:
./jmeter -n -t test.jmx -l result.jtl
ps -ef | grep jmeter
或
jstat -gc <pid>
-Xms4g -Xmx4g-Xms8g -Xmx8g如果你愿意,可以告诉我:
我可以帮你算一个最优内存配置。