java異常 java.lang.OutOfMemoryError記憶體溢出問題

來源:互聯網
上載者:User

我們在tomcat容器執行web項目的時候,可能會發生java.lang.OutOfMemoryError記憶體溢出問題。我在網上找了很多篇文章,寫的有點淩亂,自己整理了一下在window系統下如何修改我們同tomcat放JVM配置來擴大我們的記憶體。本人親測可以的 一、為什麼出現記憶體溢出問題

PermGen space的全稱是Permanent Generation space,是指記憶體的永久儲存地區OutOfMemoryError:PermGen space從表面上看就是記憶體益出,解決方案也一定是加大記憶體。說說為什麼會記憶體益出:這一部分用於存放Class和Meta的資訊,Class在被Load的時候被放入PermGen space地區,它和和存放Instance的Heap地區不同,GC(Garbage Collection)不會在主程式運行期對PermGen space進行清理,所以如果你的APP會LOAD很多CLASS的話,就很可能出現PermGen space錯誤。 二、解決辦法

最實際的解決辦法
(1)在tomcat的bin目錄下找到catalina.sh、

(2)使用文本工具開啟,找到echo “Using CATALINA_BASE: $CATALINA_BASE”這一行
(3)在上面加入JAVA_OPTS=”-server -XX:PermSize=64M -XX:MaxPermSize=256m”

註:PermSize和MaxPermSize 也不要設定得太大,會浪費實體記憶體。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.