.NET应用在树莓派4上间歇性长时间STW垃圾回收问题排查
树莓派4上.NET应用长时间STW GC问题排查
我在树莓派4上运行一款.NET应用,使用DotMemory跟踪内存情况时发现异常现象:
| No | Unmanaged Memory | Heap generation 0 | Objects | GC Times |
|---|---|---|---|---|
| 1 | 134.25 | 495.9 | 7.3K | 8 sec |
| 2 | 134.21 | 647.7 | 8.4K | < 1 sec |
编号1的数据显示,垃圾回收(Stop-the-world)偶尔会耗时极长(每2小时出现10次),但其Objects和Heap generation 0数值均低于耗时仅小于1秒的编号2数据,目前尚未明确问题根因。
黄色条形代表GC耗时
为缓解该问题,我们已采取以下措施:
- 确保所有IDisposable对象被正确释放
- 减少BeginScope日志输出
调整后,该现象出现频率从每2小时10次降至5次,但仍不清楚DotMemory Profiler中该模式存在的根本原因,希望能明确根因并彻底消除该现象。
内容的提问来源于stack exchange,提问作者Dulcis Evander
相关产品推荐
相关产品推荐

