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

Emm*_*mma 9 c# mono garbage-collection xamarin

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

Error :Garbage collector could not allocate 16384 bytes of memory for major heap section.
Run Code Online (Sandbox Code Playgroud)

我已经尝试在托管堆上设置显式限制并按照以下建议运行sGen:
避免Mono Cryptic GC错误消息

export MONO_GC_PARAMS=max-heap-size=2g
mono --gc=sgen MyProgram.exe
Run Code Online (Sandbox Code Playgroud)

但我仍然有同样的问题.
你能告诉我怎么解决这个问题吗?

小智 1

确保您没有使用低延迟/持续低延迟GC 模式,它们会导致此类问题,也不要使用 Batch(我认为它很旧),除非您知道自己在做什么。大多数时候你想坚持使用交互模式。您可以在此处阅读有关延迟模式的更多信息: https: //msdn.microsoft.com/en-us/library/bb384202 (v=vs.110).aspx