SO 질문 / 대답 코멘트에 양자로 연결이 올바른지은 "작업 세트는"기본적으로 시스템에서 사용 / 활성화 할 데이터 및 인덱스의 양입니다.
db.stats()
RAM에 전체 데이터 세트와 전체 색인이 필요하다고 생각하지 않는 한 그 내용을 알 수 없습니다 . 즉, 해당 데이터베이스에 대한 최대 작업 세트를 해결할 수 있지만 실제 활성 작업 세트는 해결할 수 없습니다. 최대 값은 다음의 합입니다.
- dataSize- 이 데이터베이스에 보유 된 데이터의 총 크기
- indexSize- 이 데이터베이스에서 작성된 모든 인덱스의 총 크기
귀하의 경우, 붙여 넣은 출력을 고려할 때 최대 값은 약 30.45 MiB입니다.
실제 메모리 사용량을 추적하려면 db.stats()
무료 모니터링 도구 ( MMS )에서 사용 가능한 그림 과 메모리 그래프 (특히 상주 메모리) 의 조합을 권장합니다 .
업데이트 (2013 년 4 월 8 일) :
버전 2.4 는 workingStatus Size Estimator 를 serverStatus 명령에 추가했습니다. 이는 추정치 일 뿐이며, 참고 용으로 사용할 수 있으며 위의 다른 수치 및 추정치가 MongoDB 인스턴스에 적합한 지 확인할 수 있습니다.
업데이트 (2016 년 9 월) :
내 원래의 대답에서 3 년이 지났고 일이 훨씬 더 복잡합니다. 일반적으로 데이터의 크기와 색인을 얻는 것이 좋은 출발점입니다. 그러나 MongoDB에서 파악하는 것은 현재 사용중인 스토리지 엔진에 따라 다릅니다. 또한 버전 3.0은 콜렉션 레벨 잠금 작업의 일부로 MMAP에 대해 위에 링크 된 작업 세트 추정기를 제거했습니다 ( SERVER-13783 참조 ). 제 (예를 들어) 지금이 캐시 통계 에 대한 WiredTiger
새 엔진 점프를 만든 가정 대체 엔진. 의 경우 MMAP
일반적인 권장 사항은 데이터가 메모리에 적합한 지 여부에 대한 프록시로 페이지 결함 메트릭 을 보는 것 입니다.