Buscador

Loading

miércoles, 17 de octubre de 2012

monitoreo de interrupciones en linux

¿Qué son las interrupciones?


En cuestión hardware es solo una terminal (conexión física) del procesador la cual recibe señales de todos los componentes del hardware (disco duro, red, usb, serial, etc) notificando que necesita ser atendido. Esta señal física es enviada al sistema operativo ( windows, linux, mac os, iOS, android, BB, etc) quien decide que software atiende la petición de recibir o enviar información al dispositivo indicado.

Ejemplo practico

Abres un documento de word y este le envía la petición al disco duro que lo busque y entregue la información, cuando el disco duro termina de leer el archivo activa una interrupción y le avisa que ya esta listo.  Al mismo tiempo tienes interrupciones de la tarjeta de red esperando información, de la tarjeta de sonido escuchando música, del teclado y mouse... y muchas otras...

Monitoreo de interrupciones

Este lo puedes hacer de un modo comodo con el software  itop para linux,  este lo descargas de https://github.com/kargig/itop

Aquí una captura de pantalla 



                                IRQs/Second
              Device (IRQ)            TOTAL
  IO-APIC-edge timer (  0):               0
  IO-APIC-edge i8042 (  1):               0
        IO-APIC-edge (  4):               0
IO-APIC-edge parport (  7):               0
   IO-APIC-edge rtc0 (  8):               0
IO-APIC-fasteoi acpi (  9):               0
  IO-APIC-edge i8042 ( 12):               0
IO-APIC-edge ata_pii ( 14):               0
IO-APIC-edge ata_pii ( 15):               0
xen-dyn-event xenbus ( 16):               0
 xen-dyn-event blkif ( 17):               4
 xen-dyn-event blkif ( 18):               0
 xen-dyn-event blkif ( 19):               0
  xen-dyn-event eth0 ( 20):               0
  xen-dyn-event eth1 ( 21):             228
  xen-dyn-event eth2 ( 22):               0
IO-APIC-fasteoi uhci ( 23):               0
  xen-dyn-event eth3 ( 24):               0
  xen-dyn-event eth4 ( 25):               0
Function call interr (CAL):               0
                     (ERR):               0
Local timer interrup (LOC):             604
Machine check except (MCE):               0
 Machine check polls (MCP):               0
                     (MIS):               0
Non-maskable interru (NMI):               0
Performance monitori (PMI):               0
Performance pending  (PND):               0
Rescheduling interru (RES):             894
 Spurious interrupts (SPU):               0
Threshold APIC inter (THR):               0
      TLB shootdowns (TLB):            1496
Thermal event interr (TRM):               0




Ejemplo de interpretación,  eth1 tiene actualmente 228 interrupciones por segundo,  si alguna vez recibes un ataque de red tal ves las interrupciones suban a 2000, 3000, 5000.   si tu procesador es muy interrumpido  parecerá que tu hardware esta lento; no solo puede ser por ataques si no por fallas del hardware, por ejemplo un disco duro dañado intentando varias veces leer la información






No hay comentarios:

Publicar un comentario

Generar número aleatorio en java script con rango de valores

Número aleatorio en java script con rango de valores Les comparto esta funcion para  generar un número aleatorio en javascript, y este num...