Tag: 内存碎片

使用字节数组时堆积碎片

我有一个C#4.0应用程序(单个生产者/单个消费者),它以块的forms传输大量数据。 虽然没有新的内存分配,但一段时间后内存不足。 我使用Redgate内存分析器分析内存,那里有很多可用内存。 它说由于碎片化而无法使用空闲内存。 我使用阻塞集合作为缓冲区和字节数组作为成员: BlockingCollection segments = new BlockingCollection(8); // producer: segments.Add(buffer); // consumer: byte[] buffer = _segments.Take(); 如何避免托管内存碎片?