5

我正在使用使用mmap()将一些多 Gb 文件加载到 RAM 内存中的Annoy 库。使用 mmap() 的目的是在内存中只加载一次文件,即使在不同的进程需要它时也是如此。

使用 docker,我计划使用在同一主机上执行相同脚本的多个容器进行扩展。但是多 Gb 文件应该只在 RAM 中加载一次(这就是我们使用 mmap() 的原因),否则我的服务器会爆炸。

多 Gb 文件位于安装在我的容器上的卷中。

但是我仍然需要找到一种在容器之间共享 RAM 的方法,以便获得 mmap() 的优势。

我找到了这篇关于在docker中使用--ipc标签的文章,但我不知道它是否适用于我的案例以及如何实现它。欢迎任何帮助。

4

1 回答 1

0

--ipc是一条红鲱鱼。对于本地卷,不需要任何操作,如果是同一个文件,则将共享内存。我怀疑远程卷也是如此,但无法确认远程卷不会多次安装。

于 2019-05-29T16:54:44.397 回答