jmeter.bat配置(主要關於OOM)


  jmeter.bat是jmeter在windows系統下的啟動文件。在使用jmeter壓測,線程數設置過多時可能會報內存溢出(Out Of Memory Error),這時候可以去嘗試調整一下jmeter.bat文件里面默認的配置。

  注:我使用的jmeter版本是3.2,有時候在Q群看到有人問安裝一個插件之后為什么報錯,這時候需要注意是不是版本兼容性問題,很多插件都比jmeter版本滯后了。

1、堆值(Heap)

一般來說,堆值Heap最多設置為物理內存的一半,默認為512M。如果此值超過物理內存的一半,jmeter運行速度會變慢,甚至會出現“內存溢出”錯誤。(Xms、Xmx的含義看下面)

我設置的為【set HEAP=-Xms256m -Xmx1024m】。說明:jdk32位的電腦Xmx不能超過1400,最高為1378。

----------------------------------------------------------分割線---------------------------------------------------------------

如果服務器端報錯“內存溢出”,進入Tomcat,修改JVM的maxheapmemory。在%CATALINA_HOME%\bin目錄下,catalina.bat文件:echo Using CATALINA_BASE: %CATALINA_BASE%之前,加上:

set JAVA_OPTS=%JAVA_OPTS% -server –Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512M

參數說明:

Xms:Tomcat中JVM內存初始設置參數,默認為512M;

Xmx:Tomcat中JVM內存最大設置參數,默認為512M;

-XX:PermSize=256M
設置永久域(非堆內存)的初始值,默認是物理內存的1/64, 建議不要超過256M;
-XX:MaxPermSize=512M
設置永久域的最大值,默認是物理內存的1/4,建議修改為512M;

----------------------------------------------------------------------------------------------------------------------------------

2、GC相關設置

這個是JVM中GC算法的一個相關設置,其中:

1)MaxGCPauseMillis:每次年輕代垃圾回收的最長時間,如果無法滿足此時間,JVM會自動調整年輕代大小,以滿足此值。(此參數請謹慎使用!)

2)G1ReservePercent:使用g1收集器時設置的保留java堆大小,防止JVM在回收存活或者晉升對象的時候,棧區域溢出發生失敗。范圍是0到50,默認是10%。

 

3、發生OOM時,生成分析文件

在發生OOM時dump出當前的內存轉儲快照,生成dump文件(可用mat分析),默認存儲在jvm運行環境目錄。后面也可以添加參數-XX:HeapDumpPath=/path/heap/dump,說明dump文件存儲的路徑。

 


免責聲明!

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



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