作者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/cn.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