2015-12-08 21 views
1

我在Mac上從命令行運行jMeter。今天它扔了內存不足,堆空間錯誤....我知道我需要增加分配給它的內存,但不知道如何。我看着這個帖子Unable to increase heap size for JMeter on Mac OSX,發現它提到的bin文件夾JMeter的腳本文件,並作出了以下更新..在命令行中增加jMeter的內存

HEAP="-Xms1024m -Xmx2048m" 
NEW="-XX:NewSize=512m -XX:MaxNewSize=1024m" 

但我仍然得到了內存不足的錯誤。我只需要更多地給它,還是我在錯誤的地方改變了?難道是我需要重新啓動我的整個機器?

+0

兩件事情,這取決於堆完成的工作量,最大2GB可能是不夠的。另一個是,你可以驗證是否在JMeter.log文件中設置了大小 –

+0

@TheNeoNoirDeveloper,我查看了在bin文件夾中找到的jmeter.log,但沒有看到任何地方的當前內存分配設置。 – AbuMariam

+0

嗯,@ user3223841,然後一個最簡單的選擇是你會有jvisualvm,執行它(已經與jdk一起運行)並運行你的jmeter,你可以在visualvm的左窗格中找到它,在那裏你可以得到所有的細節。讓我知道,以便我可以作爲答案。如果你不知道jvisualvm希望http://stackoverflow.com/questions/13312229/where-did-jvisualvm-go會幫助 –

回答

1

如果你有麻煩在日誌中找到它,然後 可以使用

PS -ef | grep的JMeter的

這可能會給你的細節(不是Mac用戶,但我一點PS -ef將工作)

另一種選擇是使用jvisualvm,它已經船舶使用JDK,所以沒有多餘的工具運行visualvm和jmeter,你可以在visualvm的左窗格上猜出應用程序的名稱(jemter的條目),點擊它,並且所有的jvm細節都將可用。

在此之後,您可以確認是否使用最大2GB RAM的Jmeter。如果需要增加。

3

據我的理解:

  • 您更改了jmeter腳本
  • 您推出jmeter.sh腳本
  • 你想知道爲什麼不應用更改?

如果您更改了jmeter腳本,爲何不將它作爲./jmeter啓動?

如果需要通過jmeter.sh開始JMeter的任何原因,如下運行它:

JVM_ARGS="-Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=1024m" && export JVM_ARGS && ./jmeter.sh 

具體見和The Ultimate JMeter Resource ListRunning JMeter用戶手冊中一般用於相關文件。

0

OutOfMemory錯誤可能有不同的可能原因。如果您已成功更改分配的內存/堆大小並仍然遇到問題,則可以查看以下因素:

監聽器:不要在實際負載測試中使用「TreeView」和「TableView」監聽器,因爲它們會消耗很多記憶。最佳做法是將結果保存在.JTL文件中,該文件稍後可用於獲取不同的報告。

非GUI模式:執行實際負載測試時不要使用GUI模式。從命令行運行測試。

欲瞭解更多,請訪問以下博客,因爲它有一些非常好的技巧來解決JMeter中的OutOfMemory問題。

http://www.testingdiaries.com/jmeter-out-of-memory-error/