我有一个程序可以在 800 Mb / s 中累积来自网络接口的流量。该程序由Delphi开发,也在32位平台上开发( Delphi不支持64位架构)。 我在内存(RAM)上写了收到日期,过了一会儿(未知并依赖于收到的数据),将一块接收数据(未知大小,取决于接收到的数据)写入硬盘并释放内存(RAM)
当我运行应用程序时,经过一段时间后,它会抛出“Out of Memory”异常。我该怎么做才能防止这种异常?
答案 0 :(得分:0)
这是一个非常高的数据速率 - 我认为它是Mbits(100 MBytes /秒)。只有最快的SSD才能跟上,而且只有当您的编程效率达到100%时才会如此。检查顺序写入速度表:http://www.anandtech.com/storage/showdoc.aspx?i=3702&p=9
如果你可以为这个问题抛出更多内存,我建议你去64位模式并一次性分配整个RAM缓冲区。