La relación entre el uso de la CPU y la carga de la máquina en Linux

  

Cuando usamos el comando superior para ver el uso de recursos del sistema, veremos el promedio de carga, como se muestra en la siguiente figura. Representa la carga de trabajo promedio del sistema a 1, 5 y 15 minutos. Entonces, ¿cuál es la carga? ¿Qué tiene que ver con la utilización de la CPU?




load average: La carga promedio del sistema es la carga de la CPU, y la información que contiene no es la CPU. El estado de la tasa es la información estadística de la suma del número de procesos que la CPU está procesando y esperando que la CPU procese durante un período de tiempo, es decir, la longitud de la cola utilizada por la CPU. Cuanto menor sea el número, mejor.


1. Diferencia entre la carga de CPU y la utilización de CPU


Utilización de CPU: muestra el porcentaje de CPU ocupada por el programa durante el tiempo de ejecución

Carga de CPU: muestra el número promedio de tareas que se utilizan y esperan para usar la CPU por un período de tiempo. La alta utilización de la CPU no significa que la carga sea grande. Por ejemplo: si tengo un programa que necesita usar la función informática de la CPU todo el tiempo, entonces el uso de la CPU puede alcanzar el 100%, pero la carga de trabajo de la CPU está más cerca de "1" porque la CPU solo es responsable de uno. Trabajo ¿Si ejecutas un programa así al mismo tiempo? El uso de la CPU sigue siendo del 100%, pero la carga de trabajo se convierte en 2. Por lo tanto, es decir, cuando la carga de trabajo de la CPU es mayor, significa que la CPU debe realizar un cambio de trabajo frecuente entre diferentes trabajos.


Ejemplos


Hay una metáfora interesante en Internet. Tome una llamada para explicar la diferencia entre los dos, presiono la mía Comprender la explicación.


En una cabina telefónica pública, hay una persona en el teléfono, cuatro personas están esperando, cada persona está limitada a usar el teléfono por un minuto, si alguien no termina la llamada en un minuto, solo puede colgar El teléfono va a la cola y espera la siguiente ronda. El teléfono es equivalente a la CPU aquí, y la persona que está esperando o esperando para llamar es equivalente al número de tareas.


Durante el uso de la cabina telefónica, algunas personas definitivamente dejarán el teléfono después de que hayan terminado de llamar. Algunas personas optan por volver a hacer cola después de no terminar la llamada. Habrá nuevas personas esperando en la cola aquí. El cambio es equivalente al aumento o disminución del número de tareas. Para calcular la carga promedio, contamos el número de personas en 5 minutos y promediamos las estadísticas en los minutos 1, 5 y 15 para formar una carga promedio de 1, 5 y 15 minutos.


Algunas personas descuelgan el teléfono y lo juegan durante 1 minuto, mientras que otras personas pueden estar buscando un número de teléfono en los primeros 30 segundos, o dudan en jugar después de tres Diez segundos está realmente en el teléfono. Si el teléfono se considera como una CPU y el número de personas se considera una tarea, decimos que la utilización de la CPU de la persona anterior (tarea) es alta, y la utilización de la CPU de la última persona (tarea) es baja.


Por supuesto, la CPU no funciona en los primeros treinta segundos, después de 30 segundos, solo dice que algunos programas implican muchos cálculos, por lo que la utilización de la CPU es alta. Sin embargo, algunos programas implican una pequeña cantidad de cálculos, y la utilización de la CPU es naturalmente baja. Pero independientemente de si la utilización de la CPU es alta o baja, no hay una relación necesaria con cuántas tareas se ponen en cola detrás.


2. ¿Cuál es la carga?


Esto es controvertido y tiene sus propios argumentos. Los individuos están de acuerdo en que la carga de la CPU es menor o igual a 0.5 es un estado ideal.


Independientemente del rendimiento de una CPU, cuántas tareas pueden procesarse en un segundo, podemos pensar que no importa, aunque no lo sea. Al evaluar la carga de la CPU, solo contamos la longitud de la cola de tareas en 5 minutos. Si la longitud de la cola de tareas es 1 cada 5 minutos, la carga de la CPU es 1. Si solo tenemos una CPU de un solo núcleo, la carga siempre es 1, lo que significa que no hay tareas en cola, no está mal.


Pero mi servidor es de doble núcleo y CPU, lo que equivale a 4 núcleos. Si la carga de cada núcleo es 1, la carga total es 4. Esto significa que si la carga de la CPU de mi servidor se mantiene en alrededor de 4 durante mucho tiempo, es aceptable.


¡Pero la carga por núcleo es 1, y no es un estado ideal! Esto significa que nuestra CPU ha estado ocupada y no libre. El estado ideal en Internet es que la carga de cada núcleo es aproximadamente 0.7. Estoy de acuerdo en que 0.7 se multiplica por la cantidad de núcleos para obtener la carga ideal de CPU del servidor. Por ejemplo, mi servidor puede cargar por debajo de 3.0.


3. ¿Cómo reducir la carga de CPU del servidor?


La forma más fácil es reemplazar un mejor servidor, no piense en mejorar el rendimiento de la CPU, es inútil, la CPU necesita jugar su mejor rendimiento y necesita otras funciones. Cooperación de hardware.


En el caso de otras configuraciones del servidor, la cantidad de CPU y la cantidad de núcleos de CPU (es decir, la cantidad de núcleos) afectará la carga de la CPU, ya que la tarea se asigna finalmente al núcleo de la CPU para su procesamiento. . Dos CPU son mejores que una CPU, y los núcleos duales son mejores que los núcleos simples.


Entonces, debemos recordar que además de las diferencias de rendimiento de la CPU, la carga de la CPU se calcula en función del número de núcleos. Hay un dicho: "Cuántos núcleos hay, cuánta carga hay".


4. ¿Cuál es la tasa de uso de la CPU?


La utilización de la CPU a menudo ha sido considerada por nuestros laicos como un estándar para juzgar si una máquina ha alcanzado su capacidad máxima. Veo un uso de CPU a largo plazo de 60-80% como una máquina. Hay un cuello de botella.

Copyright © Conocimiento de Windows All Rights Reserved