Pregunta de examen

Hace tiempo que no escribía aquí algo relacionado con informática. A raíz de un problemilla que tuvimos ayer en MX Telecom, os planteo aquí un par de preguntas sobre linux, para aquellos que les pique el gusanillo. Una de ellas es más fácil y la otra es más complicada, así que el que quiera opinar que deje un comentario :-)

Tenemos una máquina con linux 2.4 donde tenemos varios servicios para la intranet, entre ellos un servidor de correo, un apache, samba y un MTA, etc. De repente la carga de la máquina (loadavg) se pone por las nubes, alrededor de 15. La CPU está bastante ociosa (idle) lo que hace intuir que la máquina tiene esa carga por I/O de disco. Y en efecto vmstat nos demuestra que el disco está trabajando duro, pero sin estar haciendo swapping.

Pregunta primera es: ¿Cómo puedes averiguar qué proceso está causando eso?

Pregunta segunda: ¿Por qué la herramienta top no es buena para hacer estos diagnósticos?

Nota: Con aquellos que ya he discutido el asunto, absteneos de dejar comentarios :P

Actualización 11 febrero: He publicado un artículo en mi otro blog sobre el tema: Trucos para detectar procesos bloqueados por I/O.

5 Responses to “Pregunta de examen”

  1. Sevein Says:

    1) Puesto que estamos en 2.4 nos olvidamos del taskstats accounting para obtener información de los procesos. Pero yo creo que te puedes apañar: abriría el vmstat y miraría el número de procesos de la columna b, en estado “uninterruptible sleep”, que han hecho una llamada al sistema y están esperando al disco, causando el aumento del promedio de carga. Si veo que hay al menos un proceso en este estado, hago un ps ax -o pid,state,command | grep ” D” para localizarlo. Estos procesos tendrán todas las papeletas de causarnos el problema, así que les adjuntaría un strace a ver cómo se comportan.

    2) Porque a top lo que le gusta es lo que hacen los procesos con la memoria y el procesador.

  2. jroncero Says:

    ¡Vaya! Qué casualidad que hayas repetido en tu comentario lo que justo publiqué ayer en mi otro blog…

    Y si, aparte de lo obvio, hay otra razón por la que top no es bueno…

  3. Sevein Says:

    Que va, de casualidad nada, me puse a buscar una solución al problema por curiosidad y lo primero que hice fue buscar en mi lector de feeds. Tenía agregado tu blog de notreally pero no recordaba que fuera tuyo, :P. Una colleja para mí.

  4. dbosque Says:

    Wenas,
    He leído tu artículo en el otro blog y me parece muy interesante. Precisamente, me va a venir bien pa un problema que tengo con una máquina en el curro. Sobre el top…no sé qué respuesta buscas… pero es que el top no vale pa esto. Lo máximo que te puede decir es que tienes todos los cores bloqueados por i/o cuando sacas los porcentajes de uso por core y ves los %wa altísimos en todos. Pero comparado a lo que te dice un vmstat, no hay color. Por cierto, supongo que lo conocerás, pero yo para diagnosticar rendimiento de servidores a veces uso dstat.

    Un abrazo niño!
    David

  5. jroncero Says:

    :-) Si, bueno, conozco dstat, pero no es mas que un wrapper en python sobre informacion del /proc y del vmstat. Yo para ver el vmstat con colorines utilizo el multitail con uno de sus plantillas de colores.

    Un abrazo.

Leave a Reply