Tengo algo de alrededor de 200 GB de datos almacenados en un clúster mongo. La memoria física en una de las instancias que ejecuta mongo es de 8 GB. Nada más de ninguna consecuencia se ejecuta en esta instancia. Por lo que puedo entender en base a los documentos de Mongo (como este: http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage ), esto significa que el proceso mongod debería usar aproximadamente el 100% de La memoria física disponible. Pero si observa el siguiente resultado del top
comando, verá que la instancia de mongod solo está utilizando 2 GB de memoria residente y hay disponibles 2 GB completos de memoria física libre que no se está utilizando en absoluto.
¿Alguien puede explicarme este comportamiento? ¿Por qué hay 2 GB de memoria libre?
top
salida:
top - 23:19:43 up 89 days, 20:05, 2 users, load average: 0.41, 0.55, 0.59
Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.0%us, 1.3%sy, 0.0%ni, 93.9%id, 2.6%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 8163664k total, 6131764k used, 2031900k free, 54976k buffers
Swap: 16771848k total, 10604k used, 16761244k free, 5367700k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1401 mongodb 20 0 174g 2.0g 1.9g S 23 26.2 18070:55 mongod
...
Información del sistema:
$ uname -a
Linux aluminum 2.6.32-31-server #61-Ubuntu SMP Fri Apr 8 19:44:42 UTC 2011 x86_64 GNU/Linux
Notas:
- Hay otra instancia en este clúster donde mongod se comporta como yo esperaría y utiliza toda la memoria disponible.
- Mirando al mongostat, parece que constantemente tienen fallas en la página, por lo que la cantidad de memoria utilizada debería estar creciendo:
- (Hice esta misma pregunta en el grupo de google mongodb-user pero no obtuve respuesta).
uname
pero no lo tengo lsb-release
instalado.
lsb-release -a
yuname -a
por favor)