¿Por qué / cómo el "tiempo de actividad" muestra la carga de CPU> 1?

14

Tengo una CPU de 1 núcleo instalada en mi PC. A veces, uptimemuestra carga> 1. ¿Cómo es esto posible y qué significa esto?

EDITAR: los valores suben a 2.4

Richard Rodriguez
fuente
Nota: loades diferente de load average. Como dijo @michas, la carga es un indicador para el recuento de procesos que están esperando ser ejecutados, pero el promedio de carga es la carga promedio del sistema calculada durante un período de tiempo dado de 1, 5 y 15 minutos.
Mohammad Kholghi

Respuestas:

20

La carga no es igual al uso de la CPU. Básicamente es un indicador de cuántos procesos están esperando para ejecutarse.

Algunos enlaces útiles:

michas
fuente
Oh, está bien, eso tiene sentido. ¿Hay alguna manera de obtener el uso de la CPU, no cargar?
Richard Rodriguez
Bueno, en general, podrías tener muchas CPU. Uno podría estar totalmente ocupado y el otro simplemente inactivo. Eche un vistazo a htopuna buena descripción "gráfica".
michas
2
Esto es incorrecto. El promedio de carga es una medida de cuántos procesos están listos para ejecutarse. Esto incluye procesos que están esperando, pero también procesos que se están ejecutando actualmente . Entonces, si el promedio de carga es 1, significa que en promedio (para el período de tiempo dado) una CPU estaba en uso; si son dos, eso significa que, en promedio, dos CPU estaban en uso. Como tal, un promedio de carga particular para un sistema de CPU simple no es lo mismo que el mismo promedio de carga para un sistema de múltiples núcleos.
Wouter Verhelst
7

uptimemuestra la carga del sistema (no exactamente el uso de la CPU), que se describe a man uptimecontinuación:

Los promedios de carga del sistema son el número promedio de procesos que están en estado ejecutable o ininterrumpible. Un proceso en un estado ejecutable está usando la CPU o está esperando usar la CPU. Un proceso en estado ininterrumpido está esperando algún acceso de E / S, por ejemplo, esperando el disco. Los promedios se toman durante los tres intervalos de tiempo. Los promedios de carga no están normalizados para la cantidad de CPU en un sistema, por lo que un promedio de carga de 1 significa que un solo sistema de CPU se carga todo el tiempo, mientras que en un sistema de 4 CPU significa que estuvo inactivo el 75% del tiempo.

Mientras la carga sea menor que la cantidad de núcleos de CPU que tiene, debería estar bien. Si supera, significa que su sistema no puede hacer frente a su carga de trabajo "en tiempo real". Por lo tanto, algunos procesos deben esperar para obtener tiempo de CPU (o acceso de E / S). Se crea una línea de espera.

Si tiene una carga 2.7, significa que en promedio (durante los últimos 1, 5 o 15 minutos, dependiendo del valor que vea), los procesos 2.7 intentan ejecutarse en paralelo, pero solo tiene 1 núcleo, por lo que su sistema está sobrecargado Estás pidiendo demasiado de eso.

Sin embargo, no se asuste, puede que no sea un problema: una vez que finaliza el trabajo, las cosas suelen volver a la normalidad.

Totor
fuente
4

El tiempo de actividad muestra la salida de /proc/loadavgpara cargas.

La página de manual de man 5 procdice

   /proc/loadavg
          The first three fields in this file are load average figures giving
          the  number  of jobs in the run queue (state R) or waiting for disk
          I/O (state D) averaged over 1, 5, and 15  minutes. 

Por lo tanto, puede tener altas cargas incluso si tiene un 0% de uso de CPU. One Core puede ganar cargas de hasta el 100% o 1 en sistemas multiprocesador.

Consulte también Carga elevada de CPU durante E / S

Comunidad
fuente
-2
 ps aux --sort -rss |head -15

Esto ordenará los 15 procesos más utilizados por la memoria rss

Además, esto ordenará los procesos más utilizados por CPU y memoria

 ps aux --sort -pid |head -15

Si tiene 1 carga de CPU, más de 1 es una advertencia, examine la lista de procesos y vea quién de ellos usa más CPU y RAM

Cuando vea los procesos más utilizados, intente ver qué archivos están abiertos con

lsof -p [PID_most_used]

También sería bueno si le das salida del comando superior

empleado
fuente
1
rss no está relacionado con el promedio de carga, ¿de qué estás hablando?
Wouter Verhelst