You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器中.NET服务进程随机冻结问题诊断求助

Docker容器中.NET服务进程随机冻结排查求助

我正在诊断Docker容器内运行的.NET服务进程随机冻结问题:进程运行数小时后会突然失去响应,触发时机毫无规律。已使用dotnet dump collect工具收集了多份进程冻结时的内存转储文件。

转储文件分析结果

分析多份转储后未发现明确根因规律:

  • 无OOM(内存不足)、无限循环问题
  • 未检测到死锁/活锁情况
  • 仅存在一个执行自研代码(非第三方库或.NET框架代码)的工作线程,且该线程无锁相关问题

其中一份转储文件的线程状态摘要:

[1] 主线程:等待任务;
[12716] TP线程:执行我方代码(从摄像头捕获图像)
5个TP线程:等待任务分配;
[36, 37, 38] MongoDB线程:执行MongoDB相关操作,我确定此时无数据库活动;
[28] Serilog线程:写入日志;
[12720] 处理可观察对象的订阅;

其余线程暂判定与问题无关。

Visual Studio Parallel Stacks截图:
Parallel Stacks

间隔一小时后再次生成转储文件,发现线程栈完全无变化,进程彻底停滞。

核心困惑点

  • 触发时机随机:进程启动后2小时或8小时均可能发生冻结
  • 主线程未死锁,但无法接收新请求
  • 唯一执行自研代码的线程未死锁,此次卡在获取图像字节数组环节(无锁参与);其他冻结实例中,自研代码卡在不同无锁环节(如需可提供完整栈跟踪信息)

恳请各位提供排查思路!

内容的提问来源于stack exchange,提问作者hillin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 02:25:58