垃圾收集器无法为主堆部分分配16384字节的内存

时间:2014-12-29 08:01:16

标签: c# mono garbage-collection xamarin

我在Mac上运行了一些带有Xamarin Studio的C#代码,并收到以下错误。

Error :Garbage collector could not allocate 16384 bytes of memory for major heap section.

我已尝试在托管堆上设置显式限制,并按照以下建议使用sGen运行:
 Avoid Mono Cryptic GC Error Messsage

export MONO_GC_PARAMS=max-heap-size=2g
mono --gc=sgen MyProgram.exe

但我仍有同样的问题。
你能告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

确保您没有使用低延迟 / 持续低延迟 GC模式,它们会导致此类问题,请勿使用批处理(&#&# 39岁;我认为,除非你知道你在做什么。您希望大多数时候都坚持使用交互模式。 您可以在此处阅读有关延迟模式的更多信息: https://msdn.microsoft.com/en-us/library/bb384202(v=vs.110).aspx