1 NXzCH8fP20468ML5 2024-05-06 06:28:10 +08:00 我模糊印象中,StackExchange.Redis 早期版本有内存泄漏问题,升级一下试试? |
2 NXzCH8fP20468ML5 2024-05-06 06:35:09 +08:00 如果在代码中定期调用 system.gc.collect 是否有内存下降,如果是的话,说明可能是高代的对象内存泄漏了。 |
![]() | 3 mingl0280 2024-05-06 07:38:16 +08:00 via Android dump 下来以后直接塞进 vs 看内存啊…… |
![]() | 4 xiangyuecn 2024-05-06 08:31:36 +08:00 几分钟配置个定时重启,解决 99.99%疑难症 |
![]() | 5 poorcai 2024-05-06 08:32:16 +08:00 via Android 如果你会调试,使用 windbg 试一下 |
![]() | 6 idragonet 2024-05-06 08:46:11 +08:00 ![]() @xiangyuecn #4 这个是昏招! |
![]() | 7 lujiaxing 2024-05-06 08:47:29 +08:00 @xiangyuecn 啊? |
![]() | 8 qW7bo2FbzbC0 2024-05-06 10:19:25 +08:00 升级下 dotnet 版本 和 stack redis 版本 |
9 ashuai 2024-05-06 10:31:27 +08:00 1. 需要优化 redis 大 key 2. StackExchange.Redis bug 有点多,升级版本或换掉 |
10 hez2010 2024-05-06 11:35:22 +08:00 运行 dotnet-gcdump 会强制进行一次完整的 gen 2 GC ,建议你考虑一下升级 .NET 和 StackExchange.Redis 的版本。 .NET 5 已经终止支持了,建议直接升级到 .NET 8 观察,.NET 因为向后兼容做得很好升级就是改个版本号的事情。 另外从不 Unsubscribe 也可能是原因之一。 |
11 drymonfidelia OP @xiangyuecn 如果不是重启会导致客户端全断开连接一分钟 还真的会用这种方案 公司快倒闭了裁了一堆人 业务能用就行 |
12 NXzCH8fP20468ML5 2024-05-06 15:54:39 +08:00 via Android @drymonfidelia 模糊印象中,之前博客园看过这个案例,和你说的 StackExchange.Redis.RawResult 多很像。 并不是 StackExchange.Redis 的 bug ,而是不正确的方式接收消息导致的内存泄露问题。 不过后续那个作者给 StackExchange.Redis 提了 issue ,新版本就做了兜底机制,所以我让你升级一下版本试试。 |
13 drymonfidelia OP |
![]() | 14 ggabc 2024-05-06 16:17:43 +08:00 偷个懒,加个定时线程自动回收 |
15 drymonfidelia OP @ggabc 我就是这么做的,每 3 分钟 GC.Collect()一次,暂时是没出问题 |
16 NXzCH8fP20468ML5 2024-05-06 16:20:01 +08:00 via Android @drymonfidelia 为啥不敢升级最新? aspnetcore 就算了,StackExchange.Redis 为啥不升 |
17 NXzCH8fP20468ML5 2024-05-06 16:20:49 +08:00 via Android @drymonfidelia 那看起来就是高代现象的问题了。 |
18 NXzCH8fP20468ML5 2024-05-06 16:22:25 +08:00 via Android @drymonfidelia 越来越像博客园那篇文章了,好像也是高代对象的问题,你可以搜一下文章试试。 |
19 drymonfidelia OP @xxfye 之前遇到过升级 ClosedXML 还是别的什么包(想不起来)导致一个它依赖的包被升级了,然后这个包刚好砍了其它包依赖的几个对象,没有向前兼容,之后折腾降级又弄了很久。看 StackExchange.Redis 的 issue 有一些反馈升级后出现问题的,就不敢升级了 |
![]() | 20 lrh3321 2024-05-06 16:48:09 +08:00 粗暴点,前面再加一层负责和客户端保持连接。读写 redis 放在一个定时重启的微服务里去做。 |
![]() | 21 baibaibaibai 2024-09-26 17:34:18 +08:00 我这边之前一项目 GC dump 抓包分析出来是 redis 大 key 问题 |