¿Cómo rastrear los picos de memoria?

8

Tengo una aplicación que se ejecuta en la nube de Rackspace (Ubuntu 10.04). Por alguna razón, durante las últimas 3 noches, la memoria se ha disparado y luego se estabilizó durante aproximadamente 7 horas antes de caerse. Parece comenzar a la medianoche y durar hasta las 7 de la mañana (ignore los horarios en el gráfico; están apagados a las 4 horas).

texto alternativo

Mirando a través del diagrama de Munin , no parece haber una mayor actividad en mysql, y el tráfico de ethernet no parece aumentar en absoluto durante ese tiempo (lo que parece negar algo como un robot o un rastreador).

¿Qué herramientas están disponibles para que Linux solucione problemas como este?

Jerhinesmith
fuente

Respuestas:

3

No estoy del todo seguro de que vaya a encajar perfectamente, pero el paquete de contabilidad de procesos (en su mayoría llamado psacct o acct) puede mantener un registro de quién (qué cuenta) ejecuta qué (qué programa). Esto podría ayudarlo a descubrir qué se está ejecutando en el momento que especificó.

wzzrd
fuente
Esto podría ser una buena idea. psacct generalmente se usa para registrar, informar o incluso limitar a través de una cuota de uso de CPU o tics de reloj. Era la forma antigua de asegurarse de que el cliente / usuario del servidor UNIX estaba pagando el uso que hizo. Sin embargo, una nota sobre esto, psacct activado para al menos registrar todo, es un acumulador de disco masivo en el uso del espacio en disco.
reiche
1

En general, no sé qué herramienta podría ayudarlo, excepto iniciar sesión psregularmente y analizar posteriormente las actividades de los procesos.

Sin embargo, puedo adivinar los picos alrededor de las 6:00 a.m. en su gráfico, podrían ser los trabajos cron predeterminados diarios de Ubuntu. En mi máquina /etc/crontab, daily.destá configurado para ejecutarse a las 6:25 am. Pero dijiste que deberíamos ignorar el tiempo, así que la pregunta obvia es, ¿tienes trabajos cron?

elmarco
fuente
Ese fue mi primer pensamiento también. Sin embargo, mis trabajos cron diarios se ejecutan a la 1:00 pm hora local. La aplicación ejecuta algunos trabajos, pero comienzan a las 6:00 p.m. o a las 2:00 a.m.
jerhinesmith
2
Si está siguiendo la psruta normal , el "CÓMO: Memoria de perfil en un sistema Linux" entra en un poco más de detalle: mail.nl.linux.org/linux-mm/2003-03/msg00077.html
Geoff Childs
1

Mi respuesta predeterminada a tales preguntas sería sar( System Activity Reporter ) del paquete sysstat .

Pero hasta donde yo sé, sarno recoge un equivalente a la salida de ps. Entonces, tal vez la combinación de sary la respuesta de elmarcos (capturar regularmente la salida de ps) ayudaría.

EDITAR:

Steve D ha mencionado pidstaten esta pregunta . Esto parece más adecuado para sus necesidades.

cristiano
fuente
agregó otro comando que se mencionó en otra pregunta.
Christian