jmeter壓測報錯 — java.lang.OutOfMemoryError: Java heap space


在Linux服務器上使用JMeter進行壓力測試時遇到報錯

java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid21100.hprof ...
Heap dump file created [1165614889 bytes in 55.695 secs]

查詢官方手冊

To run JMeter, run the jmeter.bat (for Windows) or jmeter (for Unix) file

for windows:

jmeter.bat - run JMeter (in GUI mode by default)

jmeter-n.cmd - drop a JMX file on this to run a non-GUI test jmeter-n-r.cmd - drop a JMX file on this to run a non-GUI test remotely jmeter-t.cmd - drop a JMX file on this to load it in GUI mode jmeter-server.bat - start JMeter in server mode mirror-server.cmd - runs the JMeter Mirror Server in non-GUI mode shutdown.cmd - Run the Shutdown client to stop a non-GUI instance gracefully stoptest.cmd - Run the Shutdown client to stop a non-GUI instance abruptly
for linux:

jmeter - run JMeter (in GUI mode by default). Defines some JVM settings which may not work for all JVMs.

jmeter-server - start JMeter in server mode (calls jmeter script with appropriate parameters) jmeter.sh - very basic JMeter script with no JVM options specified. mirror-server.sh - runs the JMeter Mirror Server in non-GUI mode shutdown.sh - Run the Shutdown client to stop a non-GUI instance gracefully stoptest.sh - Run the Shutdown client to stop a non-GUI instance abruptly

修改:

windows編輯jmeter.bat,修改set HEAP的值

set JVM_ARGS="-Xms1024m -Xmx1024m "

解釋一下各個參數:

-Xms1024M:初始化堆內存大小(注意,不加M的話單位是KB)

-Xmx1024M:最大堆內存大小

 

linux可以這樣寫:JVM_ARGS="-Xms1024m -Xmx1024m"  (JVM_ARGS代表啟動JMeter時要使用的Java選項。這些將最后添加到java命令),以下是舉例

JVM_ARGS="-Xms4g -Xmx4g -XX:MaxMetaspaceSize=1g"

-XX:MaxPermSize=256M:最大類加載內存池大小

ps: jmeter5版本jmeter -n -t方式執行測試則修改jmeter文件即可

# system's memory availability:
: "${HEAP:="-Xms12g -Xmx12g -XX:MaxMetaspaceSize=1g"}"

# Set language

 

user guide原文地址:https://jmeter.apache.org/usermanual/get-started.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM