1. 程式人生 > >JMeter內存溢出解決辦法

JMeter內存溢出解決辦法

jmeter 內存泄露 性能測試 接口測試 自動化測試

點擊鏈接加入QQ群 522720170(免費公開課、視頻應有盡有):https://jq.qq.com/?_wv=1027&k=5C08ATe



使用jmeter進行壓力測試時遇到一段時間後報內存溢出outfmenmory錯誤,導致jmeter卡死了,先嘗試在jmeter.bat中增加了JVM_ARGS="-Xmx2048m -Xms2048m -Xmn256m -XX:PermSize=128m -Xss256k",但結果運行時間增加了,但最終還是報內存溢出,百度後按照網友的建議更改了如下設置後jmeter就沒有再卡了:

1、windows環境下,修改jmeter.bat

set HEAP=-Xms256m -Xmx256m

set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m

改為:

set HEAP=-Xms256m -Xmx1024m

set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m

根據經驗,heap最多設置為物理內存的一半,默認設置為512M.如果heap超過物理內存的一半,可能運行jmeter會慢,甚至出現內存溢出,原因java比較吃內存,占CPU.

註意:JDK32位的電腦Xmx不能超過1500m,最大1378m.否則在啟動Jmeter時會報錯:

技術分享圖片

2、linux環境下,修改jmeter.sh:

java $JVM_ARGS -Xms1G -Xmx5G -XX:MaxPermSize=512m -Dapple.laf.useScreenMenuBar=true -jar `dirname $0`/ApacheJMeter.jar "$@"

3、如果查看JDK的位數

# java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)

如果是64位的話,最後一行會顯示64-Bit
#java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

jmeter視頻:http://edu.51cto.com/course/2324.html

JMeter內存溢出解決辦法