12 votos

¿Por qué es 1 de mis 24 Cpu Vinculado al 100%?

Tengo un HP ProLiant DL380 G7 sistema utilizando 2 6-core Cpu, con la tecnología Hyper-threading activado, para un total de 24 Cpu lógicas (como se ve por las Ventanas).

Cuando se ejecuta nuestra aplicación, el sistema total de la CPU es bueno, pero uno de los 24 Tazas está vinculado al 100%: enter image description here

Edit: Este es el Rendimiento de datos para el Sistema de proceso durante este tiempo, y para el Procesador con el alto grado de utilización: enter image description here

Es esto normal? Si no, hay una manera de identificar qué proceso(s) utiliza lógica de la CPU? Windows PerfMon, ResMon, el Administrador de Tareas y el Explorador de Procesos han sido sin ayuda de nadie, aparte de la identificación de que la CPU está al 100%.

23voto

Evan Anderson Puntos 118832

Mostrar el "Tiempo de la CPU en la columna" en la pestaña "Details" en el "Administrador de Tareas" y busque un proceso con un tiempo de CPU contar que en constante aumento. Esa es su forma de cuña proceso. Se debe utilizar todo el 4,17% de la CPU constantemente.

11voto

Ryan Ries Puntos 33449

Como otros ya han señalado, se puede ver a partir de esa captura de pantalla que la CPU que trabajar tan duro es pasar todo su tiempo en modo de núcleo. (El color rojo.)

Ejecución de Powershell como administrador, escriba:

Get-Process | Select Name, PrivilegedProcessorTime | `
Sort-Object PrivilegedProcessorTime -Descending

El proceso en la parte superior de la lista es el proceso que utiliza actualmente la mayoría de modo de núcleo de CPU tiempo ahora. Si ese proceso es no "Sistema", entonces usted acaba de entender qué proceso de modo de usuario es la causa de este uso de la CPU. Si el proceso con el mayor Privilegio de Tiempo de Procesador del Sistema, que creo que es, entonces es un poco más complicado.

Abra El Explorador De Procesos. Opcionalmente, configurar el servidor de símbolos. Asegúrese de que está ejecutando con total elevación de UAC. Haga clic derecho en el Sistema de "proceso" y vaya a Propiedades. A continuación, vaya a la ficha de Subprocesos. Ordenar los hilos por el uso de la CPU. El hilo que está causando todo esto de modo de núcleo de trabajo debería estar aquí. Si usted mira en el módulo aparece bajo la Dirección de Inicio, debería dar una pista acerca de cuál es el trabajo relacionado con el mismo. Si es NDIS.sys que, por ejemplo, un controlador de interfaz de red. Si configura el servidor de símbolos, usted debe ver el nombre de una función en un módulo (a menos que el módulo no es de Microsoft,) si usted acaba de ver una numérico desplazamiento desde el módulo de la dirección de inicio.

Como alternativa, utilice Xperf de Windows kit de herramientas de Rendimiento para el perfil de interrupciones, Dpc, etc.

xperf -on PROC_THREAD+LOADER+DPC+INTERRUPT

y detener la grabación con xperf -d logfile.etl

Xperf sustituye a la antigua Kernrate herramienta, y puede resultar en algunos extremadamente detallada de los datos.

Cuando la CPU está en modo de núcleo, la mayoría de ejecución de rutinas de servicio de interrupción. (ISRs) Cuando se produce una interrupción, de modo de usuario se suspende el trabajo en el procesador, y la CPU ejecuta el ISR registrado a esa interrupción. Si usted encuentra que su CPU gastando una cantidad excesiva de tiempo en estas interrupciones, que por lo general indica un controlador de dispositivo defectuoso que necesita ser actualizado.

Lo que me molesta (sin juego de palabras) acerca de este escenario es que aunque parece como si cualquier hilo del kernel que está haciendo esta parece ser la afinidad a un núcleo. Me pregunto por qué el despachador parece ser sólo la programación de la rosca para que se ejecute en que uno aparentemente arbitrario núcleo. Así que tengo una sensación de que tenemos que encontrar la persona que escribió este controlador de dispositivo y mostrarles cómo hacer rosca Dpc, y no establecer explícitamente una afinidad en los hilos del kernel, etc.

10voto

MichelZ Puntos 8960

Parece ser que todos los Kernel de tiempo, podría ser de Interrupciones, que sólo puede ser manejado por una sola CPU.

6voto

yulia Puntos 16

Busque un proceso con un constante uso de la CPU de ~4% (= 1/24 de total disponible de la CPU). Que debe ser el que continuamente teniendo un solo CPU.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: