gpt4 book ai didi

memory-leaks - Microsoft.FSharp.Control.Mailbox 中的内存泄漏?

转载 作者:行者123 更新时间:2023-12-03 10:30:17 26 4
gpt4 key购买 nike

我现在正在长期运行的服务(使用 F#)中寻找一些内存泄漏。
到目前为止,我看到的唯一“奇怪”的事情如下:

  • 我在一个名为 QueueChannelCommands 的代数数据类型的子系统中使用 MailboxProcessor(或多或少是一堆添加/获取命令 - 有些附加了 AsyncReplyChannels)
  • 当我分析服务(使用 Ants 内存分析器)时,我看到提到的类型数组的实例(大多数长度为 4,但在增长) - 全部为空(空),其引用似乎由 Control.Mailbox 持有:
    enter image description here

  • 我在我的代码中看不到这种行为的任何原因(您可以在每个邮箱示例中找到您的标准代码 - 只是一个带有 let! = receivematch 的循环,以 return! loop() 结尾

    有没有人以前见过这种行为,甚至知道如何处理?
    或者这甚至是(已知的)错误?

    更新:数组的增长真的很奇怪 - 似乎在没有正确使用的情况下附加了额外的空间:
    enter image description here

    最佳答案

    我无论如何都不是 F# 专家,但也许您可以查看此线程中的第一个答案:

    Does Async.StartChild have a memory leak?

    第一个回复在下一页提到了内存分析的教程:

  • http://moiraesoftware.com/blog/2011/12/11/fixing-a-hole/

  • 但是他们提到了这个开源版本的 F#
  • https://github.com/fsharp/fsharp/blob/master/src/fsharp/FSharp.Core/control.fs

  • 而且我不确定这是否是您要查找的内容(关于最后一点中关于 F# 的这个开源版本),但也许它可以帮助您找到泄漏的来源或证明它实际上是在泄漏内存。

    希望以某种方式有所帮助?

    托尼

    关于memory-leaks - Microsoft.FSharp.Control.Mailbox 中的内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9356834/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com