相关疑难解决方法(0)

什么导致.NET中的内存碎片

我正在使用Red Gates ANTS内存分析器来调试内存泄漏.它一直警告我:

内存碎片可能导致.NET保留过多的可用内存.

要么

内存碎片正在影响可以分配的最大对象的大小

因为我有强迫症,所以必须解决这个问题.

有哪些标准编码实践有助于避免内存碎片.你能通过一些.NET方法对其进行碎片整理吗?它会帮助吗?

.net c# memory-leaks memory-management fragmentation

48
推荐指数
3
解决办法
1万
查看次数

如何解决内存碎片问题

我们偶尔会遇到问题,即由于内存分配失败,我们长时间运行的服务器进程(在Windows Server 2003上运行)引发了异常.我们怀疑这些分配是由于内存碎片而失败的.

因此,我们一直在寻找一些可能对我们有帮助的替代内存分配机制,我希望有人可以告诉我最好的一个:

1)使用Windows 低碎片堆

2)jemalloc - 用于Firefox 3

3)Doug Lea的malloc

我们的服务器进程是使用跨平台的C++代码开发的,因此任何解决方案都可以理想地跨平台(do*nix操作系统会遭受这种类型的内存碎片吗?).

另外,我认为LFH现在是Windows Server 2008/Vista的默认内存分配机制吗?如果我们的客户只是升级他们的服务器操作系统,我当前的问题会"消失"吗?

c++ memory windows

45
推荐指数
3
解决办法
4万
查看次数