Comprender los promedios de carga de Linux y monitorear el rendimiento de Linux

Comprender los promedios de carga de Linux y monitorear el rendimiento de Linux

En este artículo, explicaremos una de las tareas críticas de administración de sistemas de Linux: monitoreo del rendimiento con respecto a los promedios de carga y carga del sistema/CPU.

Antes de avanzar más, comprendamos estas dos frases importantes en todos los sistemas similares a Unix:

  • Carga del sistema/carga de CPU - es una medición de la CPU sobre o subutilización en un sistema Linux; El número de procesos que están ejecutando la CPU o en estado de espera.
  • Promedio de carga - es la carga promedio del sistema calculada durante un período de tiempo determinado de 1, 5 y 15 minutos.

En Linux, se cree que el promedio de carga es un promedio de procesos en ejecución en su cola de ejecución (kernel) etiquetada como ejecutada o ininterrumpible.

Tenga en cuenta que:

  • Todos los sistemas, si no son la mayoría de los sistemas alimentados por Linux u otros sistemas similares a unix, posiblemente mostrarán los valores promedio de carga en algún lugar para un usuario.
  • Un sistema de Linux francamente inactivo puede tener un promedio de carga de cero, excluyendo el proceso inactivo.
  • Casi todos los sistemas similares a unix cuentan solo procesos en los estados en ejecución o espera. Pero este no es el caso con Linux, incluye procesos en estados de sueño ininterrumpidos; Aquellos que esperan otros recursos del sistema, como E/S de disco, etc.

Cómo monitorear el promedio de carga del sistema Linux

Existen numerosas formas de monitorear el promedio de carga del sistema, incluido el tiempo de actividad que muestra cuánto tiempo se ha ejecutado el sistema, el número de usuarios junto con los promedios de carga:

$ tiempo de actividad 07:13:53 Up 8 días, 19 min, 1 usuario, promedio de carga: 1.98, 2.15, 2.21 

Los números se leen de izquierda a derecha, y la salida anterior significa que:

  • Cargar promedio en el último 1 minuto es 1.98
  • Cargar promedio en el último 5 Las actas son 2.15
  • Cargar promedio en el último 15 Las actas son 2.21

Los altos promedios de carga implican que un sistema está sobrecargado; Muchos procesos están esperando el tiempo de la CPU.

Lo descubriremos en la siguiente sección en relación con el número de núcleos de CPU. Además, también podemos usar otras herramientas bien conocidas, como la parte superior y las miradas que muestran un estado en tiempo real de un sistema Linux en ejecución, además de muchas otras herramientas:

Comando superior

$ top 
Mostrar procesos de Linux
Top - 12:51:42 Up 2:11, 1 usuario, promedio de carga: 1.22, 1.12, 1.26 tareas: 243 en total, 1 en ejecución, 242 durmiendo, 0 detenido, 0 zombie %cpu (s): 17.4 US, 2.9 SY, 0.3 Ni, 74.8 ID, 4.6 WA, 0.0 Hola, 0.0 si, 0.0 ST KIB MEM: 8069036 Total, 388060 gratis, 4381184 usado, 3299792 Buff/caché KIB Swap: 3906556 Total, 3901876 gratis, 4680 usado. 2807464 Disponible MEM PID User pr Ni Virt Res Shr S %CPU %MEM TIEMPLE+ Comando 6265 TecMint 20 0 1244348 170680 83616 S 13.3 2.1 6:47.72 auriculares 2301 Tecmint 9-11 640332 13344 9932 S 6.7 0.2 2:18.96 PulseAudio 2459 Tecmint 20 0 1707692 315628 62992 S 6.7 3.9 6:55.45 Cinnamon 2957 Tecmint 20 0 2644644 ​​1.035G 137968 S 6.7 13.5 50:11.13 Firefox 3208 Tecmint 20 0 507060 52136 33152 S 6.7 0.6 0:04.34 GNOME-terminal- 3272 Tecmint 20 0 1521380 391324 178348 S 6.7 4.8 6:21.01 Chrome 6220 Tecmint 20 0 1595392 106964 76836 S 6.7 1.3 3:31.94 auriculares 1 raíz 20 0 120056 6204 3964 S 0.0 0.1 0:01.83 Systemd 2 Root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 raíz 20 0 0 0 0 S 0.0 0.0 0:00.10 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 Kworker/0: 0h .. 

Herramienta de miradas

$ miradas 
Visaciones - Herramienta de monitoreo del sistema Linux
Tecmint (LinuxMint 18 64bit / Linux 4.4.0-21-Genérico) Tiempo de actividad: 2:16:06 CPU 16.4% agradable: 0.1% Carga de 4 núcleos MEM 60.5% activo: 4.90G Swap 0.1% Usuario: 10.2% IRQ: 0.0% 1 min: 1.20 Total: 7.70 g inactivo: 2.07G Total: 3.73G Sistema: 3.4% IOWAIT: 2.7% 5 min: 1.16 Usado: 4.66G Buffers: 242m usado: 4.57m inactivo: 83.6% robo: 0.0% 15 min: 1.24 gratis: 3.04G almacenado en caché: 2.58g gratis: 3.72g Network Rx/S TX/S Tareas 253 (883 THR), 1 ejecución, 252 SLP, 0 OTH ordenado automáticamente por CPU_PERCENT, Vista plana ENP1S0 525KB 31KB LO 2KB 2KB CPU% MEM% MEM% Virt Vir PID Ni S Time+ Ior/S Comando Iow/S WLP2S0 0B 0B 14.6 13.3 2.53g 1.03G 2957 TECMINT 0 S 51:49.10 0 40k/usr/lib/firefox/Firefox 7.4 2.2 1.16G 176M 6265 TECMINT 0 S 7:08.18 0 0/usr/lib/headset/headset --type = renderer-no-sandbox --primordial-pipe-token = 879b36514c6bedb183d3e4142774d1df --d disco de lan r/s w/s 4.9 3.9 1.63G 310M 2459 Tecmint 0 R 7:12.18 0 0 Cinnamon -Replace Ram0 0 0 4.2 0.2 625m 13.0m 2301 TECMINT -11 S 2:29.72 0 0/usr/bin/pulseaudio --s-start --log-target = syslog ram1 0 0 4.2 1.3 1.52G 105M 6220 TECMINT 0 S 3:42.64 0 0/usr/lib/auricular/auriculares Ram10 0 0 2.9 0.8 409m 66.7m 6240 Tecmint 0 S 2:40.44 0 0/usr/lib/headset/Headset --Type = GPU-Process--No-Sandbox --Pports-dual-gpus = false--GPU-Driver-Bug-Workarounds = 7,2 Ram11 0 0 2.9 1.8 531m 142m 1690 Root 0 S 6:03.79 0 0/usr/lib/xorg/xorg: 0 -audit 0 -auth/var/lib/mdm/: 0.Xauth -nolisten tcp vt8 ram12 0 0 2.6 0.3 79.3m 23.8m 9651 Tecmint 0 R 0:00.71 0 0/usr/bin/python3/usr/bin/mira ram13 0 0 1.6 4.8 1.45G 382M 3272 TECMINT 0 S 6:25.30 0 4K/Opt/Google/Chrome/Chrome .. 

Se leen los promedios de carga mostrados por estas herramientas /Proc/LoadAvg Archivo, que puede ver usando el comando CAT como se muestra a continuación:

$ Cat /Proc /LoadAvg 2.48 1.69 1.42 5/889 10570 

Para monitorear los promedios de carga en formato gráfico, consulte: TTYLOAD: muestra un gráfico codificado por colores del promedio de carga de Linux en terminal

En las máquinas de escritorio, existen herramientas gráficas de interfaz de usuario que podemos usar para ver promedios de carga del sistema.

Comprender la carga promedio del sistema en el número de CPU

No podemos explicar la carga del sistema o el rendimiento del sistema sin arrojar luz sobre el impacto del número de núcleos de CPU en el rendimiento.

Multiprocesador frente a múltiples núcleos

  • Multiprocesador - es donde se integran dos o más CPU físicas en un solo sistema informático.
  • Procesador de múltiples núcleos - es una sola CPU física que tiene al menos dos o más núcleos separados (o a lo que también podemos referirnos como unidades de procesamiento) que funcionan en paralelo. Lo que significa que un núcleo de doble núcleo tiene 2 dos unidades de procesamiento, un cuádruple tiene 4 unidades de procesamiento, etc.

Además, también existe una tecnología de procesador que fue introducida por primera vez por Intel para mejorar la informática paralela, denominada hiper enhebramiento.

En Hyper Threading, un solo núcleo físico de CPU aparece como dos núcleos de CPU lógicos para un sistema operativo (pero en realidad, hay un componente de hardware físico).

Tenga en cuenta que un solo núcleo de CPU solo puede llevar a cabo una tarea a la vez, por lo que se hicieron realidad tecnologías como múltiples CPU/procesadores, CPU múltiples e hiperingido.

Con más de una CPU, se pueden ejecutar varios programas simultáneamente. Las CPU de Intel actuales usan una combinación de múltiples núcleos y tecnología de hiperingido.

Para encontrar el número de unidades de procesamiento disponibles en un sistema, podemos usar los comandos NPROC o LSCPU de la siguiente manera:

$ nproc 4 o LSCPU 

Otra forma de encontrar el número de unidades de procesamiento utilizando el comando GREP como se muestra.

$ Grep 'Nombre del modelo' /Proc /Cpuinfo | WC -L 4 

Ahora, para comprender más a fondo la carga del sistema, tomaremos algunas suposiciones. Digamos que tenemos promedios de carga a continuación:

23:16:49 Up 10:49, 5 usuarios, promedio de carga: 1.00, 0.40, 3.35 
En un sistema de un solo núcleo significaría:
  • La CPU se utilizó completamente (100%) en promedio; 1 procesos se ejecutaba en la CPU (1.00) En los últimos 1 minuto.
  • La CPU estaba inactiva en un 60% en promedio; Ningún proceso estaba esperando el tiempo de la CPU (0.40) En los últimos 5 minutos.
  • La CPU fue sobrecargada en un 235% en promedio; 2.35 procesos esperaban el tiempo de la CPU (3.35) En los últimos 15 minutos.
En un sistema de doble núcleo esto significaría:
  • La única CPU estaba 100% inactiva en promedio, se estaba utilizando una CPU; No hay procesos esperando el tiempo de la CPU (1.00) En los últimos 1 minuto.
  • Las CPU estaban inactivas en un 160% en promedio; Ningún proceso esperaba el tiempo de la CPU. (0.40) En los últimos 5 minutos.
  • Las CPU fueron sobrecargadas en un 135% en promedio; 1.35 procesos esperaban el tiempo de la CPU. (3.35) En los últimos 15 minutos.

También podría gustarte:

  1. 20 Herramientas de línea de comando para monitorear el rendimiento de Linux - Parte 1
  2. 13 Herramientas de monitoreo de rendimiento de Linux - Parte 2
  3. Perf- Una herramienta de monitoreo y análisis de rendimiento para Linux
  4. Nmon: analice y monitoree el rendimiento del sistema Linux

En conclusión, si usted es un administrador del sistema, los promedios de carga altos son reales de los que preocuparse. Cuando son altos, por encima del número de núcleos de CPU, significa una alta demanda de las CPU, y los bajos promedios de carga por debajo del número de núcleos de CPU nos dice que las CPU están subutilizadas.