使用 Ratarmount 降低内存使用率

使用 Ratarmount 降低内存使用率

问题摘要:有什么办法可以降低ratarmount的内存使用率吗?哪些因素影响内存使用(焦油大小除外)?

编辑/澄清问题:我可以使用什么方法将驻留内存减少到最低限度?

我的情况:

  • 我正在使用 Ratarmount 来挂载大量 tar 文件(例如,800gb 是我拥有的最大的文件)。
  • 我有一台配备 6x6tb 驱动器、20 个内核和 256GB 内存的服务器。
  • 我安装了大约 20-25tb 的此类 tar 文件
  • 安装了上述数量的 tar 文件后,我的服务器上的 RAM 达到了最大容量 ~250gb
  • tar 文件有大量(可能数亿)小文件和文件夹。

我的问题: Ratarmount 现在已经达到了 240GB 的内存使用量,几乎耗尽了我服务器的内存。我还需要安装另外 5-10tb 的 tar 文件。

这似乎与它使用的内存量有点不一致。例如,第一次挂载时,它最终会比从索引文件挂载时使用更多的内存。对于我来说,我可以尝试什么来降低效率,这对我来说有点神秘。对任何想法持开放态度。我需要将内存使用量减少约 25% 才能完成我的项目。

边注... 我看到了该用户创建了拉塔山。这是一个非常棒的程序,完全拯救了我,但我不知道如何联系他,也不知道什么是联系这里或 github 上的人的既定/可接受的方式

答案1

我刚刚ratarmount用10M文件的文件进行了测试。如果您不主动stat处理所有文件,ratarmount最终将被换出。

因此,一个非常简单的解决方案是向服务器添加交换空间。如果使用,zswap您甚至可以避免接触物理磁盘。

我还证实了您的观察结果,即进行索引+安装比简单地进行安装需要更多的内存。这意味着存在内存泄漏ratarmount(可能是数据结构被复制并且不需要的副本没有被破坏)。因此,您可以通过索引+挂载,然后立即卸载,然后再次挂载来最大限度地减少数据使用。

相关内容