[問題] JAVA 多執行續 記憶體問題

作者: tnsshnews (tnsshnews)   2018-05-31 13:45:36
大家好,
小弟最近寫了一個Server程式, 執行之後會一直監聽是否有request進來,
一旦有新的request進來之後, 就去啟動一個新的執行續, new一個新的物件,
並做一些處理, 但在該執行序結束之後, Server main thread
所使用的記憶體空間雖然有減少, 但因為多執行序執行時記憶體不足,
導致JVM一直加大heap空間, 即便之後thread已經結束,
heap空間仍佔住一樣大的記憶體使用量, Server程式運行一段時間之後,
heap空間就會越來越肥大, 導致記憶體越吃越多, 請問這要怎樣解決呢?
謝謝
作者: ssccg (23)   2018-05-31 14:43:00
你的heap空間是指JVM process用的記憶體,還是監控JVM中有沒被GC的物件?前者是正常的,本來就不會頻繁把記憶體還OS,可以設定調整後者就看那些你覺得已經沒用卻沒被GC的物件是哪來的..
作者: pass78   2018-05-31 23:29:00
用thread pool,不需要一直new thread,參考mina or netty

Links booklink

Contact Us: admin [ a t ] ucptt.com