2014-12-29 4 views
8

Ich führe meinen C# -Code auf Mac mit Xamarin Studio und erhalte den folgenden Fehler.Garbage Collector konnte 16384 Byte Speicher für Hauptspeicherbereich nicht zuordnen

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

Ich habe versucht, eine explizite Begrenzung der verwalteten Heap Einstellung und läuft mit SGEN im Anschluss an diese Beratung:
Avoid Mono Cryptic GC Error Messsage

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

Aber ich habe immer noch das gleiche Problem.
Können Sie mir sagen, wie ich das beheben kann?

+0

Sind Sie auf einem 32-Bit-Maschine/Build? –

+1

Schwer zu helfen, ohne ein komplettes Projekt zu überprüfen, was wo und wie Speicher zugewiesen wird. –

+1

Ich denke, um fair zu sein, müssen Sie uns mehr von Ihrem Code zeigen, wie Yuri sagt. –

Antwort

1

Vergewissern Sie sich, Low Latency/Sustained Low Latency GC-Modi nicht verwenden, die sie verursachen, dass die Art von Fragen, verwenden Sie nicht Batch entweder (es ist alt, glaube ich), es sei denn, Sie wissen, was Sie tun . Sie möchten die meiste Zeit im interaktiven Modus bleiben. Sie können mehr über Latency-Modi hier lesen: https://msdn.microsoft.com/en-us/library/bb384202(v=vs.110).aspx