主题:ContextLocalBuffer内存泄露

路遥天 2019年01月28日 60

ContextLocalBuffer 缓存还是会有内存泄露的问题,用的ThreadLocalMap只释放key不能回收内存,建议ContextLocalBuffer到达阈值,直接清空ContextLocalBuffer,弱引用,软引用都不是关键,关键是要回收ThreadLocalMap,希望大大关注。。。@闲大赋

闲大赋 2019年01月29日

什么情况下会内存泄漏?贴出具体现象来,你是不是多次热启动,如果是这样,你需要调用一下GroupTemplate.close() 清空,相当于直接回收ThreadLocalMap,如果是线程数调得特别大,那你可以调整ContextLocalBuffer得长度·,或者直接甚至配置为0就行了,相当于取消了ContextLocalBuffer功能

  • 路遥天 :线程多,数据库访问量大,现在基本上2天就需要重启一次服务,我先按你说的配置成0(2019年02月13日)
闲大赋 9天前

如果1千个线程,每个占用8K,那也就8兆,你设置最大8K缓存,应该不至于出问题吧