【问题标题】:“Not enough storage is available to process this command.” for Mutex“没有足够的存储空间来处理这个命令。”对于互斥体
【发布时间】:2021-06-25 09:43:47
【问题描述】:

我发布这个问题是因为我没有找到这个问题的答案,所以我认为有人可能需要这个解决方案。 我没有提供我的代码,因为我可以确认问题是在互斥体初始化时发生的。
这是错误消息和调用堆栈。

---> (Inner Exception #4) System.IO.IOException: Not enough storage is available to process this command. : 'ABCDEFGHIJK'
     at System.Threading.Mutex.CreateMutexCore(Boolean initiallyOwned, String name, Boolean& createdNew)
     at NormalizationService.Controllers.PhysicalChunkingController.Store(Chunk chunk, Stream bytes) in /usr/local/...

我已经搜索过这个错误信息的解决方案,大部分解决方案都像这个页面https://appuals.com/fix-not-enough-storage-available-process-command/。解决不了我的问题。

【问题讨论】:

    标签: c# asp.net-core mutex


    【解决方案1】:

    我终于发现是因为我没有释放互斥对象。我认为它是轻量级的,所以我不需要释放它们。

    但是,我的程序将并行运行并初始化大约 200,000 个互斥对象。在我的实验中,当我初始化大约 160,000 个互斥对象时,这种情况很少发生。所以我猜只有极少数人会遇到这个问题。

    而且我不太清楚为什么会收到此错误消息,而不是像 OutOfMemory Exception 这样的常规错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-07
      • 2018-08-30
      • 2010-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      相关资源
      最近更新 更多