나는 Mongo 2.4.9를 사용하며 세 노드에 대한 복제 세트가 있습니다. I는 db.serverStatus를 수행 한() 47기가바이트 MEM을 매핑하고 그 크기가 매우 높다 참조 :. db.stats의MongoDB : 큰 크기의 매핑 된 메모리
db.serverStatus().mem
{
"bits" : 64,
"resident" : 266,
"virtual" : 10149,
"supported" : true,
"mapped" : 47402,
"mappedWithJournal" : 65730
}
결과 메가 바이트 (1024)
{
"db" : "xxxxx",
"collections" : 7,
"objects" : 670488,
"avgObjSize" : 2890.6140721385023,
"dataSize" : 1892697,
"storageSize" : 2273304,
"numExtents" : 49,
"indexes" : 42,
"indexSize" : 399378,
"fileSize" : 10416128,
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 5
},
"ok" : 1
}
"dataSize" : 1848mb
"storageSize" : 2220mb
"fileSize" : 10172mb
은 WorkingSet 정보 :
"workingSet" : {
"note" : "thisIsAnEstimate",
"pagesInMemory" : 152599,
"computationTimeMicros" : 31143,
"overSeconds" : 1728
}
,536,913,632 10
크기 (Mb) = 152599 * 4kb -> Mb = 596 Mb로 변환
내 질문에 매핑 된 메모리의 크기가 fileSize보다 4,2 배 크고 storageSize 또는 dataSize보다 15159 배 더 큰 이유는 무엇입니까? 매핑 된 메모리 메모리가 계속 느리게 커집니다.
참고 : OS :이 article 읽을 수는 있지만 매핑 된 메모리의 크기가 너무 커서 계정을 고려 이유를 아직도 이해하지
3892Mb
: 레드햇 엔터프라이즈 리눅스 서버 5.7 (Tikanga) 물리적 메모리를 해제 작은 크기의 실제 데이터 (파일 크기).감사합니다.
빠른 응답을 보내 주셔서 감사합니다. 맞습니다. serverStatus 명령은 모든 데이터베이스에 대한 정보를 반환합니다. 나는 다음과 같은 한 데이터베이스 : 가 (빈) 관리자가 (빈) 설정은 (빈) 지역 24.06640625GB 시험 (빈) MYDB 9.94921875GB 이 oplog.rs 모음의 크기가 27017입니다 > 쇼 데이터베이스 23386Mb = ~ 23GB – user1932034
다음 질문이 있습니다. 초기화 크기를 변경하기 위해 oplog 컬렉션을 안전하게 삭제할 수 있습니까? 매핑 된 메모리의 큰 크기가 실제 메모리가 아닌 크기를 고려한 쿼리의 성능에 영향을 주는지 여부 (32GB> 물리적 4GB 매핑) 데이터 형식이 작업 집합의 일부인지 여부 감사합니다 – user1932034
내 대답 업데이트를 참조하십시오 –