gpt4 book ai didi

Linux内存映射文件(已删除)

转载 作者:太空宇宙 更新时间:2023-11-04 12:29:59 24 4
gpt4 key购买 nike

我有一个关于 Linux 中的 mmap 文件的问题(具体来说是 Ubuntu 14)。

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

ERROR [http-8983-exec-5] 2017-04-20 02:08:41,901 SolrException.java (line 136) IO error while trying to get the size of the Directory: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 (deleted) lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a23000-7f82c1a24000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig_BloomFilter_0.pos (deleted) lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a24000-7f82c1a25000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig_BloomFilter_0.doc (deleted) lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a25000-7f82c1a28000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig_Lucene41_0.pos (deleted) lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a29000-7f82c1a2a000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig.nvd (deleted) lr-------- 1 cassandra cassandra 64 Apr 21 16:49 7f82c1a2a000-7f82c1a2b000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig_Lucene41_0.doc (deleted)

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

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

最佳答案

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

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

关于Linux内存映射文件(已删除),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43548220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com