【问题标题】:Linux memory mapped files (deleted)Linux 内存映射文件(已删除)
【发布时间】:2017-09-18 18:45:30
【问题描述】:

我对 Linux 中的 mmap 文件有疑问(具体来说是 Ubuntu 14)。

我们在主机上运行 DSE/DSE SOLR,我们看到一些文件随机消失。看起来当应用程序开始构建索引时,它会创建一堆 mmap 文件并在继续构建索引时使用它们。查看 /proc/${dse_pid}/map_files 我看到一堆指向(已删除)文件的符号链接。在我们的日志中,我们看到了类似

错误 [http-8983-exec-5] 2017-04-20 02:08:41,901 SolrException.java (第 136 行)尝试获取 目录:java.io.FileNotFoundException:_2zm29_Lucene41_0.pos

map_files 的示例如下:

lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a22000-7f82c1a23000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig_BloomFilter_0.tim (已删除)lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a23000-7f82c1a24000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig_BloomFilter_0.pos (已删除)lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a24000-7f82c1a25000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig_BloomFilter_0.doc (已删除)lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a25000-7f82c1a28000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig_Lucene41_0.pos (已删除)lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a29000-7f82c1a2a000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig.nvd (已删除)lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a2a000-7f82c1a2b000-> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig_Lucene41_0.doc (已删除)

我的问题是,有什么东西会导致这些文件随机消失吗? dse 似乎每隔几天就会记录一两个文件,记录这种类型的错误,proc/ 中总共有大约 90 个(已删除)链接。操作系统是否会过早地清理其中一些 mmap 文件,从而导致 proc/ 中的符号链接损坏?我不知道解释这种行为。

除了一般的 mmap 文件之外,如果一个进程没有正确关闭它与 mmap 文件的连接,操作系统是否会清理该文件并将其从文件系统中删除?或者如果一个进程没有完全断开它与文件的连接会发生什么?

【问题讨论】:

    标签: linux memory-management solr cassandra mmap


    【解决方案1】:

    Solr 使用大量 Java 堆以及大型 mmap 文件。如果它达到消耗所有物理 RAM 的地步,您将看到速度急剧下降,但仍然没有失败。

    Solr 的 mmap 文件是短暂的。您可以调查为什么 DSE 想要保留 Solr 的 mmap 文件的符号链接。但如果没有功能性 DSE 问题,那么也许这一切都无关紧要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-19
      相关资源
      最近更新 更多