Jmeter(四十三)_性能測試分配堆內存


內存泄漏、內存溢出是什么

內存泄露是指你的應用使用資源之后沒有及時釋放,導致應用內存中持有了不需要的資源,這是一種狀態描述;

內存溢出是指你應用的內存已經不能滿足正常使用了,堆棧已經達到系統設置的最大值,進而導致崩潰,這事一種結果描述;

通常都是由於內存泄露導致堆棧內存不斷增大,從而引發內存溢出。

在利用jmeter測試過程中,如果內存溢出的話,一般會出現這個提示:java.lang.OutOfMemoryError: Java heap space:意思就是堆內存溢出,不夠用了

8G內存為例修改:

windows環境下,修改jmeter.bat
set HEAP=-Xms512m -Xmx4000m
set NEW=-XX:NewSize=256m -XX:MaxNewSize=1024m
改為:
set HEAP=-Xms256m -Xmx8192m

## HEAP:表示堆內存總空間為8G

set NEW=-XX:NewSize=1330m -XX:MaxNewSize=3072m -XX:NewRatio=2 -XX:SurvivorRatio=8

## NewSize:表示新生代的內存空間

## NewRatio:表示新生代和老年代的比例。此處新生代:老年代=1:2

## SurvivorRatio:表示伊甸園和space的比例。此處伊甸園:space=8:2

set PERM=-XX:PermSize=1024m -XX:MaxPermSize=1024m

## PERM:表示持久代的內存空間,但是jdk1.8之后取消了持久代,改成了元空間
heap最多設置為物理內存的一半,默認設置為512M.如果heap超過物理內存的一半,可能運行jmeter會慢,甚至出現內存溢出,原因java比較吃內存

如何查看本機JDK的位數?

CMD下執行 java -version


免責聲明!

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



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