程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 解決tomca/JVMt的Memory run out異常中止

解決tomca/JVMt的Memory run out異常中止

編輯:關於JAVA

目前我多數是選在周一早上更新系統,然後就到總部開周會。不過似乎近來形成了一個傳統,明明運行得好好的東西,一旦我升級完畢開始打算舒心開會時,它就會出問題罷工,直到給急call,盡管系統總是已經經過一定強度的測試了——當然,不是每次都進行過重力測試。升級也實在太頻繁了,不可能每次測試完全。上一次是升級了兩個小時後開始變慢,經過壓力測試和debug後,去除了不算太肯定的一些代碼,反正似乎是經受住了嚴格十倍的測試了,花了我一個星期的工作時間。這一次呢,無非是在外圍進行了URL重寫,基本上沒有處理過tomcat的程序,但在半夜發布後兩個小時tomcat就當了機。可是在白天負載要重幾十倍地運行了一天,卻屁事沒有;這可以天知道是什麼原因了。 晚上仔細看記錄日志,發現當機的原因,應該是由於tomcat在運行時出現out of memory異常,而造成這個異常的原因,估計是由於兩個錯誤反復出現:一個是由於刪除了一個被常include的JSp造成的登錄界面運行異常(意味著一整天沒有人登錄過),二是一個同事使用老式的JSP/param方式時沒有進行詳細的異常判斷,反復輸出數據類型錯誤;反正大概是由於反常出現錯誤導致垃圾來不及清除,最後異常退出了。不過,這個解釋也是非常牽強的,因為白天的壓力重得多,干嗎就不垮呢? 無論如何,還是把jvm的處理內存堆棧打大一點吧。 參考文章http://Java.sun.com/docs/hotspot/gc1.4.2/#3.1.%20Total%20Heap|outline,加上把兩個錯誤清除,大概不會再出現同樣的情況了。

全文: http://zwwwxy.blogchina.com/blog/article_81038.1378434.Html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved