Re: [問題] 請教在linux跑的java錯誤訊息
你的程式有memory leak,也就是說程式跑越久memory就越用越多,
而且garbage collection之後也不會下降,最後就是出現outofmemory exception
這種情況短期治標是加大memory(-Xmx多少m),長期治本當然是要看哪裡有memory
leak,也就是物件越漲越大,reference的物件越來越多,而沒有從memory中releas
e掉。雖然java 有garbage collection,但是有reference到的物件是不會被collect的
,你還是要在物件用完後把所有指向他的變數設成null。這種問題很tricky,我在公司
寫測試系統的後台,一半的時間都是在抓這個(我們的客戶都很大,跑一次測試都要
一兩天,有memory leak一下就會被發現 .> <)
您沒有貼出code,不過我猜大概是待處理queue越漲越大,您可能要設計一個機制定期或
當queue漲到一定大小的時候作清除或是儲存到cache的動作(我門公司的產品是寫到
file裡面)。
※ 引述《leifjason (畢業版在哪裡阿??)》之銘言:
: 我的linux是ubuntu 7.04 desktop版本
: 再執行一各接收封包的java程式時(大概6-7小時就當了)
: 出現了以下訊息
: Exception in thread 24"Thread-6" java.lang.OutOfMemory Error:java heap space
: 想請教這是啥意思..記憶體不夠還是啥空間不夠?
: 問題可能在code的啥地方呢.給的buffer不夠大嗎..還是傳送與接收封包
: 的速度差太多..在queue就掛點了
: 請各位高手幫幫我感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 76.111.69.123
※ 編輯: willieliao 來自: 76.111.69.123 (11/24 15:59)
推
11/24 20:18, , 1F
11/24 20:18, 1F
推
11/24 22:53, , 2F
11/24 22:53, 2F
→
11/24 22:55, , 3F
11/24 22:55, 3F
→
11/24 22:56, , 4F
11/24 22:56, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):