El título de la entrada es muy largo. Pero no sabía como resumirlo. Voy a comentar uno de esos problemas que aparecen de vez en cuando en un ordenador y que son muy molestos. Se trata además de un problema que se puede resolver casi enseguida o bien requerir mucho tiempo para encontrar una solución. Me voy a limitar de momento a Windows que es donde nosotros vemos este error.
Los síntomas:
Los síntomas que voy a describir pueden aparecer por otros problemas. Pero si descartamos otras averías y sobre todo si se cumple el primer punto, estamos ante un bloqueo del PC por el consumo de recursos del procesador por las interrupciones del sistema
- Si abrimos el administrador de tareas (podemos pulsar Control + Alt + Suprimir y escogerlo en la última opción). Y ordenamos las tareas por tiempo de consumo de CPU (pulsando en el título de la primera columna que pone un % y CPU) la primera o la segunda tarea es: “Interrupciones del sistema” tenemos este problema. Pero para hacer esto nos tienen que pasar otras cosas antes como:
-
Parece que el equipo se para. De momento el equipo deja de hacer lo que estábmos haciendo o lo hace muy despacio, así:
- Tratamos de mover el ratón y el cursor no responde.
- O el ratón se mueve, pero lo hace de forma muy lenta
- Pulsamos el teclado y no pasa nada.
- O al escribir no aparece nada y luego de golpe vemos todo lo escrito.
- Tratamos de mover el ratón y el cursor no responde.
- Si estamos viendo un vídeo éste se para o empieza a mostrarse de forma entrecortada
- Si estamos navegando por internet se para la carga de las páginas, pero tenemos línea
- Si estamos oyendo música, ésta se detiene o se oye a tirones o bien oímos ruidos y chasquidos de fondo
¿Qué son las interrupciones del sistema?
El procesador del ordenador (la CPU, el Intel o AMD que controla tu PC) realmente hace solo una cosa a la vez. Pero cambia de tarea de forma muy rápida. Las interrupciones del sistema son llamadas de programas o procesos que se están ejecutando para romper el flujo de tareas normal del procesador y hacer algo más urgente y luego regresar a lo que se estaba haciendo. Con un ejemplo creo que se verá más claro. Si estamos viendo un vídeo por Internet, el procesador estará ocupado en esa tarea. Pero si queremos subir el volumen, pulsaremos la tecla que sube el volumen en el teclado. En ese momento el driver del teclado lanza una interrupción para decirle al procesador “Eh, que han pulsado una tecla”. El procesador ejecutara la rutina del driver del teclado para saber qué tecla se ha pulsado y luego seguirá con la labor de reproducir el vídeo.
Los problemas surgen cuando algún o algunos procesos o programas llaman muchas veces al procesador. Lo interrumpen tanto que no puede realizar su trabajo de forma normal y correcta.
Como buscar la solución:
Como paso muchas veces en la informática no hay una regla fija. Muchas veces cuando tenemos un problema de consumo de recursos por las interrupciones del sistema, una reinstalación de Windows lo soluciona. Luego veremos porqué.
Para ver lo que pasa vamos a usar un par de programas que controlarán qué procesos son los que están interrumpiendo al procesador
Para localizar donde está el problema nosotros usamos un par de programas. Podemos empezar con el DPC Latency Checker. Esta aplicación monitoriza en tiempo real las interrupciones. Si la barra de latencia se pone en rojo sabemos que algo pasa:
Aquí vemos el programa si todo va bien:
Y ahora como lo veríamos con problemas:
En ocasiones solo con este programa tenemos suficiente. Por ejemplo, si salta la alarma cada vez que ejecutamos una aplicación concreta. Podemos ver si el programa está actualizado, si usa un hardware concreto…
Para obtener más información de lo que está pasando empleado otro programa: LatencyMon. Esta aplicación nos indicará que programas, procesos o drivers están consumiendo mucho tiempo de CPU. Se trata de un programa que se usa para controlar la latencia a la hora de reproducir música, pero nos sirve perfectamente.
Una vez ejecutado miramos la pantalla principal:
La imagen de arriba está obtenida de SweetWater. Hay una explicación de la herramienta en el enlace. Si aquí vemos procesos o drivers que pasan del color verde al rojo es que están causando problemas. Además, podemos acudir a la pestaña de drivers para confirmarlo:
La columna marcada en amarilloo nos indica los drivers que están usando más las interrupciones del sistema.
Con estos programas podemos confirmar que tenemos un problema de interrupciones del sistema y además nos dirá que driver o proceso bloquea. Pero todavía no lo tenemos solucionado. Ahora hay que interpretar los resultados.
Nosotros miramos el driver problemático. Entonces podemos hacer varias cosas:
- Si es de un hardware viejo que no usamos, pero está montado en el PC, directamente lo quitamos. Aquí hay casos de discos duros ATA o Sata antiguos, sintonizadoras de TV, tarjeta de sonido, tarjetas de red, tarjetas Wifi…
- Si es de un hardware que estamos usando, podemos probar a buscar otro driver o actualizar el que tenemos.
- Es bueno en estos casos mirar si hay una versión nueva de la bios y en ese caso actualizar.
- Si queremos confirmar qué está causando el problema, podemos probar a inhabilitar ese componente en el Administrador de dispositivos de Windows. Si con ese componente deshabilitado no hay problemas ya sabemos a quién echarle la culpa. Entonces podemos cambiar ese componente.
Un ejemplo práctico:
No siempre activamos este protocolo de búsqueda de problemas en la tienda. Este proceso lleva tiempo y eso luego es dinero que se factura al cliente. Así que muchas veces actualizamos la bios, reinstalamos Windows y a seguir. Y si vemos hardware viejo en el PC directamente lo quitamos a ver si el problema desaparece. Pero de vez en cuando nos encontramos con equipos donde hay que buscar una solución más elegante.
Recientemente (lo que me hizo acordarme de este tema para el blog) tuvimos un cliente que cambio de PC. Con su PC anterior (un i3 de tercera generación) montamos un HTPC. El HTPC funcionó bien durante un año y hace unos meses el cliente nos comentó que tenía problemas de estabilidad. Cuelgues, lentitud reproduciendo vídeo. Coincidía con el momento en que sus hijos empezaron a usar el HTPC pare ver sobre todo series en Streaming. Revisamos el PC y encontramos algunos invitados no bienvenidos. Limpiamos y se lo llevó. Pero volvió con los mismos síntomas. Vimos elevado consumo de CPU por interrupciones y decidimos reinstalar Windows 10 para acabar pronto. Pero nada, ni por esas. Así que recurrimos al LatencyMon. Vimos que la tarjeta gráfica y la tarjeta de red bloqueaban mucho tiempo el PC. Aquí tuvimos que improvisar. El HTPC tenía una gráfica Intel en el procesador y una nVidia GTX 1030. Al final desactivando la gráfica de Intel mejoró mucho. Pero reproduciendo streaming (sobre todo Netflix) seguía dando problemas. Así que probamos a cambiar los drivers de la tarjeta de red. Teníamos tres opciones: los de la placa base, los del fabricante (era una Intel) o los recomendados por Windows 10. Al final con los de Windows 10 desapareció el problema por fin. No cambiamos la tarjeta de red por una externa porque no teníamos espacio en la caja para ella. Este es el motivo por el cual muchas vece formateamos, no tocamos nada y desparecen estos problemas.
Resumiendo, los problemas de consumo elevado de CPU por las interrupciones del sistema aparecen cuando menos se lo espera. Y hay que usar la paciencia y el conocimiento del hardware y drivers del sistema para buscar la solución.
2 Comentarios
Comentarios Cerrados
Las famosas actualizaciones, ya , he encontrado varias veces que win10 actualiza drivers para romperlo todo.
¿Hay aun alguien que se acuerde de las IRQ, DMA , E/S?
Mirare eso de las IRQ en ordenadores viejos que ultimamente se comportan raro, muy pesados para tareas simples.
Gracias por la idea.
No me habales de IRQs, DMAs o de los jumpers de las placas… que viejos que somos. El tema de Windows 10 con las actualizaciones es que en ocasiones cambia los drives que teníamos que iban bien y pone otros (no necesariamente más modernos) y la lia.