JMeter java.lang.OutOfMemoryError: PermGen space錯誤

來源:互聯網
上載者:User

在遷移JMeter到別的機器上時,運行JMeter(我的版本為JMeter2.13)報錯如下:

java.lang.OutOfMemoryError: PermGen space



先來瞭解下,什麼是PermGen 。***************************

PermGen space的全稱是Permanent Generation space,是指記憶體的永久儲存地區,
這塊記憶體主要是被JVM存放Class和Meta資訊的,Class在被Loader時就會被放到PermGen space中,
它和存放類執行個體(Instance)的Heap地區不同,GC(Garbage Collection)不會在主程式運行期對
PermGen space進行清理,所以如果你的應用中有很多CLASS的話,就很可能出現PermGen space錯誤,
這種錯誤常見在web伺服器對JSP進行pre compile的時候。如果你的WEB APP下都用了大量的第三方jar, 其大小
超過了jvm預設的大小(4M)那麼就會產生此錯誤資訊了。
解決方案: 手動設定MaxPermSize大小


網上的解決方案,我的問題未解決。**************************************

在JMeter.bat 中修改:   set HEAP=-Xms512m -Xmx1024m   set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m   set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%   set TENURING=-XX:MaxTenuringThreshold=2   set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000   set PERM=-XX:PermSize=256m -XX:MaxPermSize=512m 個人修改,問題解決****************************************

我發現自己的JMeter啟動中的perm相關如下:

if %current_minor% LEQ "8" (
    rem Increase MaxPermSize if you use a lot of Javascript in your Test Plan :
    set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m
)

故推測可能是該設定沒有生效的緣故(畢竟是 在if裡面的設定)

所以,直接在外面加了這句話,然後啟動OK。

 set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.