리눅스에서 mmap 파일과 관련된 질문이 있습니다 (구체적으로는 우분투 14).리눅스 메모리 맵 파일 (삭제됨)
호스트에서 DSE/DSE SOLR을 실행 중이며 일부 파일이 임의로 사라지는 것을 볼 수 있습니다. 응용 프로그램이 색인을 작성하기 시작할 때, 여러 개의 mmap 파일을 작성하여 색인을 계속 작성할 때 사용하는 것처럼 보입니다./proc/$ {dse_pid}/map_files 살펴보기 (삭제 된) 파일을 가리키는 일련의 심볼릭 링크가 있습니다. 우리의 기록에서 우리는
ERROR 같은 물건을보고있는 [HTTP-8983을-간부-5] 2017년 4월 20일 02 : 8 : 얻을하는 동안 41,901 SolrException.java (라인 136) IO 오류 java.io.FileNotFoundException : 다음 디렉토리의 크기 _2zm29_Lucene41_0.pos
무엇 map_files 모습 것은 이것이다의 예 :
-------- 1 카산드라 카산드라 LR 64 Apr 21 16:49 7f82c1a22000-7f82c1a23000 -> /cassandra/data/solr.data/clearcore_solr.validations_search/index/_2grig_BloomFilter_0.tim (삭제) LR -------- 1 카산드라 산드 64 사월 21 16시 49분 7f82c1a23000-7f82c1a24000 -> /산드 /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 -> /candandra/data/solr.data /clearcore_solr.validations_search/index/_2grig_Lucene41_0.pos (삭제됨) lr -------- 1 cassandra c assandra 64 Apr 21 16:49 7f82c1a29000-7f82c1a2a000 -> /candandra/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 개의 전체 (삭제 된) 링크가 있습니다. OS가 이러한 mmap 파일 중 일부를 조기에 정리할 수 있으며 따라서 proc 디렉토리의 심볼릭 링크가 손상 될 수 있습니까? 나는이 행동을 설명하는 손실에있다.
일반적으로 mmap 파일에서 프로세스가 mmap 파일에 대한 연결을 제대로 닫지 않으면 OS가 파일을 정리하고 파일 시스템에서 제거합니까? 또는 프로세스가 파일과의 연결을 정상적으로 중단하지 않으면 어떻게됩니까?