0

给定一个使用(即只读)numpy.memmap创建的对象,有没有办法强制它从物理 RAM 中清除所有加载的页面,而不删除对象本身?mode='r'

换句话说,我希望对memmap实例的引用保持有效,但用于缓存磁盘数据的所有物理内存都未提交。memmap对数组的任何视图也必须保持有效。

我希望将其用作诊断工具,以帮助将脚本的“真实”内存需求与使用memmap.

我在 RedHat 上使用 Python 2.7。

4

1 回答 1

2

如果您运行“pmap SCRIPT-PID”,“真实”内存将显示为“[anon]”块,并且所有内存映射文件都会在最后一列中显示文件名。

如果您设法获得指向映射开头的指针并在其上调用 madvise(ptr, length, MADV_DONTNEED) ,则可以在 C 级别清除页面,但它会很笨拙。

于 2011-05-16T19:09:25.317 回答