La carga media CPU

Ver promedio de tiempo de actividad funcionamiento de carga

[root @ amo ~] # tiempo de actividad 
 23:24:59 hasta 12 días, 22:57, 2 usuarios, carga media: 0,02, 0,02, 0,05

  El significado de cada columna

// hora actual 23:24:59 
hasta 12 días, 22:57, // disponibilidad del sistema 
2 usuarios, el número de usuarios actualmente conectados // 
carga media: 0,02, 0,02, 0,05 // pasado un minuto, respectivamente, 10 minutos 15 minutos de carga

carga media  : expresado en la unidad de tiempo que el sistema está en un estado de funcionamiento y el número medio de procesos que no pueden ser estado de interrupción, que es el número medio de procesos activos y uso de la CPU no está directamente relacionada.

Puede ejecutar Estado : que utiliza la CPU o en espera de proceso de la CPU, lo que comúnmente vemos en estado de comando ps R (en ejecución o Ejecutable) proceso.

El proceso no puede ser estado de interrupción: representa el núcleo está en el proceso de los procesos críticos, y estos procesos no puede ser interrumpido, tales como el hardware común respuesta IO, es decir, vemos el progreso en el estado D al mando ps; al leer y escribir en el disco los datos, para asegurar la consistencia de los datos, no recibió una respuesta en el momento del disco, no puede ser interrumpido por otros procesos o interrumpido, esta vez el proceso no se interrumpirá en el estado. Si el proceso se interrumpe en este momento, es fácil de datos del disco y la inconsistencia de datos de proceso se produce. Por lo tanto no podemos estado de alarma es en realidad un mecanismo de protección de los equipos de proceso y sistema. 

Se puede entender simplemente como la carga media es el número promedio de procesos activos. El número medio de procesos activos, entender que el número de procesos activos por unidad de tiempo Intuitivamente, en realidad es el número medio de procesos activos de forma exponencial en descomposición promedios, se entiende el número medio de procesos activos

Puesto que es el número medio de procesos activos, entonces lo mejor es que cada CPU puede ejecutar un solo proceso, de modo que cada CPU se utilizan plenamente, como una carga de 2 ¿Qué significa eso? En sólo dos sistema de la CPU, lo que significa que todas las CPU simplemente ser llenado; en el único sistema de cuatro CPU, lo que significa que 50% de la inactividad de la CPU; sólo hay un sistema de CPU, que tiene menos de la mitad de la CPU proceso de competencia

Cuando la carga media es idealmente igual a la CPU número. La carga media de todos juez debe primero conocer a algunos de CPU. Ver número de sistema de copa

[root @ amo ~] # grep 'nombre del modelo' / proc / cpuinfo | wc -l 
2

  No podemos determinar el número de promedio de carga de la CPU es mayor que el número de tiempo de CPU, el sistema se sobrecargue, sin embargo, hay nuevas preguntas a los ejemplos anteriores carga media de tres valores que nos referimos. Usted debe mirar el valor de intervalo real en tres ocasiones diferentes. De hecho, nos provee de fuentes de sistema de análisis de tendencias de carga de datos. Vamos a ser más completa. Más comprensión tridimensional de la corriente de carga. Si un minuto, cinco minutos, tres minutos es sustancialmente el mismo valor de 15 o menos, la carga del sistema se describe constante, sin embargo, si uno minutos es mucho menor que el último valor de carga minutos de 15 minutos se reduce en el sistema descrito, y dentro de los últimos 15 minutos hay una enorme carga; si el valor es mucho mayor que 1 minuto a valor de 15 minutos, que significa un incremento de carga de última hora, este aumento probablemente es sólo temporal, es probable que siguen aumentando hacia abajo , así que tenemos que seguir observando. Una vez a 1 minuto a carga media cerca o sobre el número de CPU, significa que el sistema es el exceso de sobrecarga se produce un problema, entonces usted tiene que analizar el origen del problema es el resultado de la investigación, y para encontrar una manera de optimizar la

En el entorno de producción real, la alta carga media, hay que centrarse en ella?

Cuando el promedio de carga es mayor que el número de CPU del 70%, se debe analizar alta carga de solucionar el problema. Una vez que la carga es demasiado alta, podría causar el proceso de respuesta lenta, lo que afecta la función normal del servicio. Pero el 70% de esta cifra no es absoluta, el método más recomendado, o la carga media en el monitor del sistema, y ​​entonces, de acuerdo a los datos históricos más para determinar la carga tendencias. Cuando se encuentra la carga de tener aumentado significativamente la tendencia, como la carga se duplicó, a continuación, hacer el análisis e investigación

El uso promedio de carga y CPU

O para volver al significado de la carga media hasta la carga media es la unidad de tiempo, se puede ejecutar en una serie de Estado y no estatal de interrupción del proceso. Por lo tanto, incluye no sólo el proceso está utilizando la CPU, esperando y esperando a que la CPU también incluye I proceso de E / S

Y la utilización de la CPU, es una unidad estadística del tiempo de la CPU está ocupada situaciones, la carga media no se corresponde necesariamente con exactitud.

procesos intensivo de la CPU, el uso de una gran cantidad de carga de la CPU dará lugar a un incremento medio, cuando los dos son idénticos;

I / proceso-O intensiva, a la espera de I / O de carga dará lugar a un incremento medio, pero no necesariamente la utilización de la CPU;

Un gran número de procesos esperando para la planificación de la CPU dará lugar a aumento de la carga media, el uso de CPU en este momento será relativamente alta.

Tres ejemplos fueron a mirar estos tres casos, y con iostat, mpstat, pidstat y otras herramientas para identificar las causas fundamentales de la carga promedio aumentaron.

Configuración de la máquina: 2 CPU, 8 GB de memoria.

Sysstat estrés paquete y pre-instalado, como yum install sysstat estrés.

el estrés es una herramienta de prueba de esfuerzo sistema Linux, donde se utilizó un aumento anormal en los escenarios de simulación de carga promedio del proceso.

El sysstat contiene comúnmente utilizado herramientas de rendimiento de Linux para la supervisión del rendimiento y sistema de análisis. Nuestro caso se utilizarán dos comandos mpstat y pidstat este paquete.

mpstat es una herramienta común de múltiples núcleos rendimiento de la CPU análisis utilizado para ver las métricas de rendimiento en tiempo real para cada CPU, y el índice promedio de todas las CPU.

pidstat es una herramientas de análisis de rendimiento de los procesos comunes para la visión en tiempo real del proceso de la conmutación de la CPU, memoria, I / O y el contexto y otros indicadores de rendimiento.

Ver la carga promedio del sistema

[root @ maestro ~] # tiempo de actividad 
 00:55:18 hasta 7 min, 1 de usuario, carga media: 0,00, 0,05, 0,05

proceso intensivo de la CPU analógica ; En primer lugar, se corre el estrés de comandos en el primer terminal para simular un 100% escenarios de uso de la CPU:

[root @ amo ~] # 1 --cpu estrés --timeout 600 
estrés: Info: [5896] cerdos de despacho: 1 CPU, 0 io, vm 0, 0 HDD

  A continuación, el funcionamiento del segundo tiempo de actividad del terminal de ver los cambios medios de ocupación:

Cada 2.0s: tiempo de actividad Jue Mar 12 01:00:13 2020 

 01:00:13 hasta 12 min, 3 usuarios, carga media: 1,03, 0,58, 0,26

  Finalmente, en el mpstat terminal de tercera operación ver cambios :-P ALL indica utilización de la CPU supervisión de todas las CPU, el numeral 5 denota un conjunto posterior de los datos de salidas de un segundo intervalo de 5

[Root @ Master ~] # 5 mpstat -P ALL 
Linux 3.10.0-957.el7.x86_64 (Master) 2020 de marzo de 12 _x86_64_ (la CPU) 2 

01 01 minutos y 27 segundos de CPU% usr% agradables% sys % iowait% IRQ%% Soft Steal% de visitantes% Gnice% IDLE 
01 minutos y 32 segundos 50.10 0.00 0.10 0.00 0.00 0.00 0.00 0.00 0.00 49.80 todos 01 
01 01 minutos 32 segundos 0 0,00 0,00 0,40 0,00 0,00 0,00 0,00 0,00 0,00 99,60 
01 01 minutos 32 segundos 1 99.80 0.00 0.00 0.00 0.00 0.20 0.00 0.00 0.00 0.00

  Puede ser visto a partir de los dos terminales, la carga promedio de un minuto para aumentar lentamente a 1,00, y también se puede ver a partir de los tres terminales, el uso de exactamente una CPU 100%, pero es sólo iowait 0. Esto muestra que la carga media se incrementa ya que la tasa de utilización de la CPU es 100%.

Así, al final es lo que está causando el uso de la CPU es 100 por ciento? Puede utilizar la consulta pidstat:

[Root @ ~ Master] # pidstat -u 5 1 
Linux 3.10.0-957.el7.x86_64 (Master) 2020 de marzo de 12 _x86_64_ (la CPU 2) 

01 04 minutos y 52 segundos UID PID% usr% System% Invitado% de la CPU de la CPU del Comando 
01 04 minutos y 57 segundos 0 5897 el 100.00 0.00 0.00 el 100.00 1 estrés. 
01 04 minutos y 57 segundos 0 6159 0.00 0.20 0.00 0.20 0 reloj 

de tiempo promedio: UID PID% usr% System% de invitados% CPU Comando CPU 
tiempo promedio : 0 5897 100.00 100.00 0.00 0.00 - la tensión 
promedio de tiempo: 0 6159 0.00 0.20 0.00 0.20 - reloj

  Desde aquí se puede ver claramente, el uso de la CPU proceso de estrés fue del 100%.

proceso de I / O-intensivo

En primer lugar, el estrés u orden de marcha, pero esta vez el análogo de E / S que mantiene la presión a la aplicación de sincronización:

[Root @ amo ~] # yum -y instalar un estrés 0.07.29-2.el7.x86_64 
[root @ amo ~] #-estrés -i 1 1 --hdd --timeout 600 
ng de estrés: info [7655] despacho cerdos: 1 HDD, 1 io

  En un segundo terminal o correr el tiempo de actividad ver cambios en promedio de carga:

Cada 2.0s: tiempo de actividad Jue Mar 12 01:09:36 2020 

 01:09:36 hasta 21 min, 4 usuarios, carga media: 1,11, 0,81, 0,53

  A continuación, un tercer terminal ejecutar mpstat ver cambios en el uso de la CPU:

[Root @ Master ~] # 5 mpstat 1 -P ALL 
Linux 3.10.0-957.el7.x86_64 (Master) 2020 de marzo de 12 _x86_64_ (la CPU 2) 

01 30 minutos y 48 segundos de CPU% usr% bonita% sys% iowait% IRQ%% suave robar% de invitados% Gnice% de inactividad 
tiempo de 01 30 minutos 53 segundos Todas las 0.20 0.00 8.01 90.29 0.00 0.20 0.00 0.00 0.00 1.30 
01 30 minutos 53 segundos 0 0.20 0.00 9.34 90.26 0.00 0.20 0.00 0.00 0.00 0.00 
01 30 minutos 53 segundos 1 0.00 6.84 90.14 0.20 0.00 0.00 0.00 0.00 0.00 2.82 

tiempo medio: CPU% usr% agradable sys% %% iowait IRQ%%% suave robar invitados% Gnice% ociosa 
promedio de tiempo: todo 0.20 0.00 8.01 90.29 0.00 0.20 0,00 0,00 0,00 1,30
Tiempo promedio: 0.20 0.00 9.34 0 0.00 0.20 90.26 0.00 0.00 0.00 0.00 
Promedio de tiempo: 0.20 0.00 6.84 1 0.00 90.14 0.00 0.00 0.00 0.00 2.82

  Compruebe que el proceso que conduce a la

[Root @ ~ Master] # pidstat -u 5 1 
Linux 3.10.0-957.el7.x86_64 (Master) 2020 de marzo de 12 _x86_64_ (la CPU 2) 

01 31 minutos y 42 segundos UID PID% usr% System% huésped% de la CPU de comando CPU 
01 31 minutos y 47 segundos 0. 9 0,00 0,20 0,00 0,20 0 rcu_sched 
31 minutos y 47 segundos 0 5,153 0,00 1,39 0,00 1,39 0 NetworkManager 01 durante 
01 31 minutos 47 segundos 0 7,537 0,00 0,20 0,00 0,20 0 kworker / 0: 0 
01 31 minutos 47 segundos 0 7656 0,40 29,56 0,00 29,96. 1 estrés-ng-HDD 
31 minutos y 47 segundos 0 7,657 0,00 3,97 0,00 3,97 1 estrés -ng-io 01 
01 31 minutos 47 segundos 07 658 0,00 8,33 0,00 8,33 0 kworker / U4: 2 
01 31 minutos 47 segundos 0 7,660 0,00 0,40 0,00 0,40 0 reloj
01 minutos y 47 segundos 31 0 7813 0.20 0.60 0.00 0.79 1 pidstat 

tiempo promedio: UID PID% usr% System% de invitados% Comando CPU CPU 
promedio de tiempo: 0 9 0.00 0.20 0.00 0.20 - rcu_sched 
tiempo promedio: 05 153 0.00 1.39 0.00 1.39 - NetworkManager 
promedio de tiempo: 0 7,537 0,00 0,20 0,00 0,20 - kworker / 0: 0 
promedio de tiempo: 0 7,656 0,40 29,56 0,00 29,96 - estrés-ng-HDD 
promedio de tiempo: 0 7,657 0,00 3,97 0,00 3,97 - -io estrés-ng 
promedio de tiempo: 0 7,658 0,00 8,33 0,00 8,33 - kworker / u4: 2 
promedio de tiempo: 0 7,660 0,00 0,40 0,00 0,40 - ver 
tiempo promedio: 0 7,813 0,20 0,60 0,00 0,79 - pidstat

  Me pareció ser ng proceso de tensión-HDD-líder

Escena tres: una gran cantidad de escenarios de procesos

Cuando los procesos que se ejecutan en la CPU del sistema funcionando más allá de la capacidad, aparecerá el proceso de espera de la CPU. O el uso de la tensión, pero esta vez el proceso de simulación es de 8:

[root @ amo ~] # estrés-C8 --timeout 600 
estrés: Info: [8033] cerdos de despacho: 8 CPU, 0 io, vm 0, 0 HDD

  Dado que el sistema tiene sólo dos CPU, significativamente más alto que el proceso 8 mucho menos, por lo tanto, la CPU del sistema está en condición de sobrecarga grave, la carga promedio de hasta 7,97:

[root @ maestro ~] # tiempo de actividad 
 01:41:59 hasta 53 min, 4 usuarios, carga media: 7,20, 3,45, 1,92

  A continuación, mirar la situación y luego ejecutar pidstat proceso:

[Root @ ~ Master] # pidstat -u 5 1 
Linux 3.10.0-957.el7.x86_64 (Master) 2020 de marzo de 12 _x86_64_ (la CPU 2) 

01 42 minutos y 39 segundos UID PID% usr% System% huésped% CPU Comando CPU 
01 42 minutos y 44 segundos 0 8,034 24,75 0,00 0,00 24,75. 1 estrés 
01 42 minutos y 44 segundos 0 8,035 25,15 0,00 0,00 25,15. 1 estrés 
01 42 minutos y 44 segundos 0 8,036 24,95 0,00 0,00 24,95 0 Stress 
01 42 44 minutos de la segunda 0 8,037 24,95 0,00 0,00 24,95. 1 Estrés 
01 42 minutos 44 segundos 0 8,038 24,95 0,00 0,00 24,95 0 Estrés 
01 42 minutos 44 segundos 0 8,039 24,95 0,00 0,00 24,95 0 Estrés 
01 42 minutos 44 segundos 08 040 24,95 0,00 0,00 24.95 1 estrés
01 42 minutos y 44 segundos 0 8041 24.95 0.00 0.00 24.95 0 Estrés 
01 42 minutos y 44 segundos 0 8065 0.00 0.20 0.00 0.20 1 pidstat 

tiempo promedio: UID PID% usr% System% CPU invitados% CPU Comando 
tiempo promedio: 08 034 24,75 0,00 0.00 24.75 - la tensión 
promedio de tiempo: 0 8035 25.15 0.00 0.00 25.15 - la tensión 
promedio de tiempo: 0 8036 24.95 0.00 0.00 24.95 - la tensión 
promedio de tiempo: 0 8037 24.95 0.00 0.00 24.95 - la tensión 
promedio de tiempo: 0 8038 24.95 0.00 0.00 24.95 - estrés 
el tiempo promedio : 0 8039 24.95 0.00 0.00 24.95 - la tensión 
promedio de tiempo: 0 8040 24.95 0.00 0.00 24.95 - estrés
Tiempo medio: 0 8041 24.95 0.00 0.00 24.95 - la tensión 
promedio de tiempo: 0 8065 0.00 0.20 0.00 0.20 - pidstat

  Como puede verse, ocho CPU 2 en el proceso de competencia, cada tiempo de proceso (es decir,% columna de espera bloque de código) la CPU espera hasta el 75%. La CPU potencia de cálculo más allá del proceso, llevando eventualmente a la sobrecarga de la CPU.

  La carga media proporciona una vista rápida de herramientas de rendimiento general del sistema, lo que refleja la carga total. Pero basta con ver la misma carga media, no podemos encontrar directamente, en el extremo donde hay un cuello de botella. Por lo tanto, la comprensión de la carga media, sino también prestar atención a: alta carga media podría ser causado por procesos intensivos de CPU; carga promedio no necesariamente el uso medio de la CPU es alta, puede haber de E / S más ocupado; cuando se encuentran un tiempo de carga alta, se puede utilizar mpstat, pidstat y otras herramientas, análisis de la fuente auxiliar de la carga.

 

Supongo que te gusta

Origin www.cnblogs.com/rdchenxi/p/12466712.html
Recomendado
Clasificación