2012-10-23 2 views
3

로그 인 MMS에서 볼 수있는 MongoDB 메모리 사용 패턴을 이해하려고합니다.MongoDB 상주 메모리가 급증, 매핑 된 메모리가 사라짐

일반적으로 상주 메모리는 약 3GB이고 가상 메모리는 84GB로 일정하며 매핑 된 메모리는 약 41GB입니다. 그런 다음 몇 분 동안 일련의 봉우리와 골짜기에서 매핑 된 메모리가 완전히 사라지고 가상 메모리가 약 41GB로 줄어들고 상주 메모리가 41GB 또는 84GB로 급증합니다. 그러나 한 최근 에피소드에서는 최고점과 최저점이 3.5 시간 지속되었습니다. 호기심 ... 나를 만드는 MongoDB를 나타납니다

mongodb memory peaks and troughsmongodb memory peaks and troughs detail

는 일반적으로 실행하는 등 opcounters 및 네트워크와 같은 다른 측정은 정상이지만, 그래프가 갑자기 큰 부하가 변화 될 가능성이 있었다 하였을 때 극적으로 변화.

MongoDB 1.8.3을 실행하는 독립 실행 형 인스턴스입니다. 이 원인을

$ free -m 
      total  used  free  shared buffers  cached 
Mem:   32176  31931  245   0  628  29449 
-/+ buffers/cache:  1854  30322 
Swap:   1983   0  1983 

:

일반적인 메모리 사용하지 에피소드 중 (나는 단지 더 이상 에피소드가 종료되면서 발견)?

답변

3

MMS는/proc/$ PID/stat를 읽음으로써 운영 체제에서 메모리 통계를 가져옵니다. 가상 메모리와 상주 메모리의 변동은 오류를보고하므로 무시해도됩니다.

(당신이 스파이크 위에 마우스를 올려 경우, 당신은 그들이 시간을 1 또는 3 stats- 가상 메모리의 2, 매핑 된 메모리 또는 상주 메모리에서 발생하는 것을 알 수 있습니다 - ...없는)

+0

확인 , 감사. 확장 된보고 오류의 원인은 무엇입니까? – michaeltwofish

+1

추측을해야한다면 MMS가 저널 플러시와 겹치거나 동기화 된 속도로 폴링 데이터를 시작하여 하나 이상의 메모리 통계에 영향을 미칠 수 있습니다. 개별 통계의 파싱에 결함이 있으며 3 가지 통계 중 하나 이상이보고되지 않으면 변동이 MMS 그래프의 지점과 연결되어있는 것처럼 보입니다. 오류의 정확한 원인을 파악하려면 더 자세한 조사를해야합니다. – Jenna

관련 문제