Monitoreo del Uso de Memoria

Tengo un servidor con 4Gb de RAM, basado en Linux, el cual está swapeando bastante y me llama mucho la atención, porque allí hay 4 instancias Oracle 9i con 700 Mb de SGA cada una.
Quisiera saber por qué swapea, y para eso se me ocurre monitorear el uso de memoria que hacen las instancias. Estuve leyendo algo de STATSPACK, pero todavía no estoy seguro de estar en lo correcto.
Existe alguna otra forma de monitorear el consumo de memoria y saber en qué momento del día/noche tiene el pico de consumo, ¿para así analizar si es por esa razón que esté swapeando?
Respuesta
1
El tema es que además de la SGA tienes que contar la PGA que es lo que van a consumir los procesos servidores (las sesiones de usuario).
Yo te recomendaría que uses alguna herramienta de monitoreo de linux para ver qué instancia es la que esta usando más memoria en ese momento.
Lo del statspack creo que no te va a ayudar mucho porque desde oracle no se va a dar cuenta si está accediendo a una página en memoria o en disco, sí podes ver las tasas de aciertos de caches, eso sí pero yo haría primero un monitoreo "desde afuera" con algún sar o alguna herramienta de monitoreo del linux.

1 respuesta más de otro experto

Respuesta
1
La herramienta del SO que te puede apoyar con este tema es sar, inlcusive vmstat.
Antes de pasar a la parte de la Bd, vale la pena aclarar que la memoria utilizada por una instancia es la SGA+PGA+la que ocupen los procesos de las sesiones (sea Shared server o Dedicated).
Un poco de matemáticas nos revela que tienes 1.2Gb libres después de descontar SGAs, a esto le quitamos el footprint o consumo del SO (se puede obtener midiendo con top al bajar todas las Bd y aplicaciones ahí existentes). Esa memoria quedaría libre para procesos de BD y otros... tal vez sean entre 800Mb y 400Mb, lo cual no es mucho y por eso empieza a swapear.
De hecho los servidores Unix o Linux tienden a swapear siempre, ¿Cuándo es nocivo esto? Cuando las faltas en las páginas son demasiadas y swapean demasiado ¿Cómo lo sabemos? Con el comando top podemos ver que tanto swap se esta utilizando, niveles superiores al 70% de utilización del archivo swap son de cuidado.
Un efecto del swapeo se puede verificar con sar -u en la columna %wio o esperas del CPU por IO.
La verdad que una respuesta increíble, muy completa... Además me aclaraste bastantes cosas.
En estos momentos estoy investigando el comando vmstat, creo que me va a ser de gran utilidad. Lo que se me ocurrió es usar este comando para tratar de averiguar en qué momento del día/noche llega al pico de consumo.
Estos son los datos que saqué con el comando top:
<span style="white-space: pre;"> </span>Swap: 8388600k total, 1406776k used. 
Por lo tanto la Swap usada está representando un 17%, cosa que me hace quedar más tranquilo.
Muchísimas gracias.
PD: Te ganaste un lugar en mis expertos favoritos, gracias de nuevo...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas