如何在有限的RAM中处理大量数据



我必须处理大量数据(大约4000张图像的单个层的特征图),该数据大小超过50 GB。处理涉及一些计算,然后将大约2MB文件写入HDD。

由于自由RAM大约是40GB我的流程在某个点之后崩溃。任何人都可以提出一种更好的方法来划分或处理此50GB数据,以便可以在可用的RAM中进行计算。例如有些在内存压缩方法

我只是在寻找有关此问题的可能方法的提示。

谢谢

这个问题使我记住了80年代初期。内存曾经很昂贵,我们发明了交换。OS的(高级部分)的内存比实际目前的内存更多,并且在磁盘上复制页面。当需要一个时,另一个被换成,然后将页面复制回存储中。表演很糟糕,但至少它有效。

您的问题相当广泛,但是一个经验法则说,如果您可以批量处理数据,则明确加载数据批次要高得多,但是如果算法过于复杂,则需要在任何数据上进行任何数据操作时刻,让交换照顾它。

因此,添加一个明显大于您认为需要的内存的交换文件(使用给定尺寸,我会尝试100或200 gbytes),在离开办公室之前开始处理,第二天您可以在早上获得结果。

最新更新