martes, octubre 28, 2008

Dos semanas aciagas


Éramos pocos y parió la abuela, o también se podría decir que montamos un circo y nos crecen los enanos.

Llevamos una racha bastante mala en el trabajo.

Además de un montonazo de cosas pendientes y marrones varios nos ha venido un usuario que lanza por medio de una aplicación un proceso pl-sql (oracle) extremadamente pesado y no lo ve terminar. Miramos en el servidor y ya no está el proceso.

Primero miramos en el log Oracle:
Editamos /oracle/admin/instancia/bdump/alert_nombreInstancia.log
Buscamos errores ORA. Si aparece alguno, normalmente vendrá indicado el fichero de traza donde encontrar más información.

El fichero de traza está en /oracle/admin/instancia/udump/instancia_ora_numero.trc
Le pido que lo lance otra vez y me preparo con mi repertorio de comandos de HP-UX (la mayoría coinciden con el resto de UNIX y con GNU/Linux por lo que pienso que son interesantes.

Tengo una pista. Tengo un mail del servidor de monitorización de Oracle (Entreprise Manager Grid Control):

Metric=CPU Utilization (%)
Metric Value=99.4
Timestamp=Oct 27, 2008 3:21:59 PM CET
Severity=Critical
Message=CPU Utilization is 99.4%, crossed warning (80) or critical (95) threshold.
Notification Rule Name=Host Availability and Critical States
Notification Rule Owner=SYSMAN
Ha llegado el momento de mirar el log principal del sistema operativo
Leemos /var/adm/syslog/syslog.log
No encontramos nada.
Observar la ejecución
Bueno, a monitorizar el uso de la CPU.
Para este tipo de monitorizaciones hay diferente comandos.

Esta es mi lista particular para este problema concreto:
vmstat 4 400
Nos da información sobre el uso de la memoria virtual.
4 es el intervalo (4 segundos) y 400 el número de veces que queremos que nos muestre información.

top
Primero nos muestra una fila por procesador y estadísticas de utilización en tanto por ciento.
Nos muestra los procesos de forma ordenada por tiempo de cpu utilizado y mostrando su estado.
Podríamos haber hecho top 4 400 también, pero en principio sin argumentos se refresca continuamente.
swapinfo
Información sobre el espacio para paginación.
sar 1 5
Cada segundo y hasta un total de 5 veces nos muestra la actividad de cada núcleo en porcentajes: %usr, %sys, %io, %idle. El idle es la inactividad del sistema.
mpsched –s
Tiene opciones interesantes. Sirve para controlar en que procesador se está ejecutando un proceso.
A mi me ha servidor para ver con la opción -s que HP-UX está viendo sólo un procesador (Processor Count: 1)
machinfo
Muestra información de la máquina.
Concretamente el número de cpu-s y su velocidad, familia de procesador, modelo y revisión del procesador, tipo de caché y tamaños, memoria RAM instalada, versión del firmware, plataforma, número de serie, sistema operativo y versión del S.O.
Lo que me ha ocurrido...
Para mi problema particular yo he empezado con un top y ahí me he llevado la sorpresa. El servidor tiene dos procesadores pero en top sólo veo uno.
mpsched y sobre todo machinfo han servidor para confirmar lo mismo. El sistema no ve uno de los procesadores.
En este punto, obligatorio avisar a los usuarios para una parada programada al mediodía.
Paramos el servidor y entramos en la EFI para ver si desde aquí se ven los dos procesadores. Si se ven pero uno está deshabilitado por mal funcionamiento se supone. Llamamos al fabricante para abrir una incidencia y a esperar la sustitución.
Saludos.

2 comentarios:

xyz dijo...

Yo llevo un mes ya casi con un proyecto que me tiene...#000. Tengo la neurona como si estuviera en mitad del LHC...

Salu2

Aitor Iriarte dijo...

Pues creo que ahora el LHC está averiado ;-)

Que no se te olvide pasar por el lado del mal. Entrevista interesante con pregunta comprometida: .net vs java.

Saludos.