作者tnsshnews (tnsshnews)
看板java
標題[問題] JAVA 多執行續 記憶體問題
時間Thu May 31 13:45:36 2018
大家好,
小弟最近寫了一個Server程式, 執行之後會一直監聽是否有request進來,
一旦有新的request進來之後, 就去啟動一個新的執行續, new一個新的物件,
並做一些處理, 但在該執行序結束之後, Server main thread
所使用的記憶體空間雖然有減少, 但因為多執行序執行時記憶體不足,
導致JVM一直加大heap空間, 即便之後thread已經結束,
heap空間仍佔住一樣大的記憶體使用量, Server程式運行一段時間之後,
heap空間就會越來越肥大, 導致記憶體越吃越多, 請問這要怎樣解決呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.110.208
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1527745538.A.61F.html
1F:→ ssccg: 你的heap空間是指JVM process用的記憶體,還是監控JVM中有 05/31 14:43
2F:→ ssccg: 沒被GC的物件? 05/31 14:43
3F:→ ssccg: 前者是正常的,本來就不會頻繁把記憶體還OS,可以設定調整 05/31 14:44
4F:→ ssccg: 後者就看那些你覺得已經沒用卻沒被GC的物件是哪來的.. 05/31 14:45
5F:→ pass78: 用thread pool,不需要一直new thread,參考mina or netty 05/31 23:29