GNU/Linux >> Tutoriales Linux >  >> Linux

Usa sar para monitorear recursos en Linux

Este artículo presenta 10 formas en que puede usar el comando Informe de actividad del sistema (sar) para monitorear recursos en Linux®.

1. Mostrar el uso colectivo de todas las CPU

Ejecute el siguiente comando para mostrar un resumen del uso de la CPU:

sar -u

Este comando genera el uso acumulativo de recursos en tiempo real de todas las CPU.

Puede agregar más parámetros a este comando. Por ejemplo, agregando 1 3 al final del comando como se muestra en los siguientes informes de ejemplo por cada segundo un total de 3 veces:

sar -u 1 3

El resultado es similar al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:27:32 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:27:33 PM       all      0.00      0.00      0.00      0.00      0.00    100.00
01:27:34 PM       all      0.25      0.00      0.25      0.00      0.00     99.50
01:27:35 PM       all      0.75      0.00      0.25      0.00      0.00     99.00
Average:          all      0.33      0.00      0.17      0.00      0.00     99.50

El último campo, %idle , indica la carga de la CPU.

El comando tiene las siguientes variaciones:

  • sar -u :muestra el uso de la CPU para el día actual.
  • sar -u 1 3 :muestra el uso de la CPU en tiempo real cada 1 segundo durante 3 veces.
  • sar -u ALL :Igual que el sar -u comando, pero muestra campos adicionales.
  • sar -u ALL 1 3 :Igual que el sar -u 1 3 comando, pero muestra campos adicionales.
  • sar -u -f /var/log/sa/sa10 :Muestra el uso de la CPU para el décimo día del mes desde el sa10 archivo.

2. Mostrar el uso de CPU por CPU o núcleo

Ejecute el siguiente comando para mostrar el uso de la CPU por CPU o núcleo:

sar -P ALL 1 1

El -P ALL indica que desea mostrar estadísticas de todos los núcleos individuales.

En la CPU columna de la siguiente salida de ejemplo, 0 , 1 , 2 y 3 son números de núcleo de CPU:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:34:12 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:34:13 PM       all     11.69      0.00      4.71      0.69      0.00     82.90
01:34:13 PM         0     35.00      0.00      6.00      0.00      0.00     59.00
01:34:13 PM         1     22.00      0.00      5.00      0.00      0.00     73.00
01:34:13 PM         2      3.00      0.00      1.00      0.00      0.00     96.00
01:34:13 PM         3      0.00      0.00      0.00      0.00      0.00    100.00

Si desea mostrar estadísticas solo para el segundo núcleo, use -P 1 (porque los números principales comienzan desde 0), como se muestra en el siguiente ejemplo:

sar -P 1 1 1

El resultado se parece al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:36:25 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:36:26 PM         1      8.08      0.00      2.02      1.01      0.00     88.89

También puede encontrar útiles las siguientes variaciones:

  • sar -P ALL :muestra el uso de la CPU para cada núcleo en el día actual.
  • sar -P ALL 1 3 :muestra el uso de la CPU en tiempo real de cada núcleo cada 1 segundo durante 3 veces.
  • sar -P 1 :muestra el uso de CPU para el núcleo número 1 para el día actual.
  • sar -P 1 1 3 :muestra el uso de la CPU en tiempo real para el núcleo número 1, cada 1 segundo durante 3 veces.
  • sar -P ALL -f /var/log/sa/sa10 :Muestra el uso de CPU para cada núcleo para el décimo día del mes desde el sa10 archivo.

3. Muestra la memoria libre y usada

Ejecute el siguiente comando para mostrar la memoria libre y usada:

sar -r

Si agrega 1 3 al comando como se muestra en el siguiente ejemplo, la salida informa por cada segundo un total de 3 veces:

sar -r 1 3

El resultado se parece al siguiente ejemplo, en el que kbmemfree es memoria libre y kbmemused se usa la memoria:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

07:28:06 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact
07:28:07 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
07:28:08 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
07:28:09 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
Average:      6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204

Este comando tiene las siguientes variaciones:

  • sar -r
  • sar -r 1 3
  • sar -r -f /var/log/sa/sa10

4. Mostrar el uso del espacio de intercambio

Ejecute el siguiente comando para mostrar la cantidad de espacio de intercambio que está en uso:

sar -S

Si agrega 1 3 hasta el final del comando como se muestra en el siguiente ejemplo, la salida informa cada 1 segundo un total de 3 veces:

sar -S 1 3

El resultado es similar al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

07:31:06 AM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
07:31:07 AM   8385920         0      0.00         0      0.00
07:31:08 AM   8385920         0      0.00         0      0.00
07:31:09 AM   8385920         0      0.00         0      0.00
Average:      8385920         0      0.00         0      0.00

Nota :Si kbswpused y %swpused están en 0 , entonces su sistema no está intercambiando.

Este comando tiene las siguientes variaciones:

  • sar -S
  • sar -S 1 3
  • sar -S -f /var/log/sa/sa10

Comandos adicionales de espacio de intercambio

También puede encontrar útiles los siguientes comandos de espacio de intercambio:

  • Use sar -R para identificar el número de páginas de memoria que el sistema ha liberado, utilizado y almacenado en caché.
  • Use sar -H para identificar las Linux® HugePages (en kilobytes (KB)) que están en uso y disponibles.
  • Use sar -B para generar estadísticas de paginación como el número de KB paginados dentro (y fuera) del disco por segundo.
  • Use sar -W para generar estadísticas de intercambio de páginas, como el intercambio de páginas entrantes (y salientes) por segundo.

5. Mostrar actividades de E/S

Ejecute el siguiente comando para mostrar las actividades generales de entrada y salida (E/S):

sar -b

El resultado de este comando muestra estadísticas de E/S. Si agrega 1 3 al final del comando como se muestra en el siguiente ejemplo, la salida informa por cada segundo un total de 3 veces:

sar -b 1 3

El resultado se parece al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:56:28 PM       tps      rtps      wtps   bread/s   bwrtn/s
01:56:29 PM    346.00    264.00     82.00   2208.00    768.00
01:56:30 PM    100.00     36.00     64.00    304.00    816.00
01:56:31 PM    282.83     32.32    250.51    258.59   2537.37
Average:       242.81    111.04    131.77    925.75   1369.90

La salida incluye los siguientes campos:

  • tps :Transacciones por segundo (tanto de lectura como de escritura)
  • rtps :Leer transacciones por segundo
  • wtps :Escribir transacciones por segundo
  • bread/s :Bytes leídos por segundo
  • bwrtn/s :Bytes escritos por segundo

Este comando tiene las siguientes variaciones:

  • sar -b
  • sar -b 1 3
  • sar -b -f /var/log/sa/sa10

Nota :Utilice sar -v para mostrar la cantidad de controladores de inodos, controladores de archivos y pseudoterminales que utiliza el sistema.

6. Mostrar las actividades de E/S de los dispositivos de bloques individuales

Ejecute el siguiente comando para mostrar las actividades de E/S de los dispositivos de bloque individuales:

sar -d

Para identificar actividades por dispositivo de bloque individual (como un punto de montaje específico, número de unidad lógica (LUN) o partición), use sar -d , como se muestra en el siguiente ejemplo:

sar -d 1 1

El resultado se parece al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:59:45 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:59:46 PM    dev8-0      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM    dev8-1      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM dev120-64      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM dev120-65      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM  dev120-0      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM  dev120-1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM dev120-96      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91
01:59:46 PM dev120-97      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91

En este ejemplo, los valores en el DEV columna representan dispositivos de bloque específicos. Por ejemplo, dev53-1 significa un dispositivo de bloque con 53 como número mayor y 1 como número menor.

Puedes usar la letra bonita (-p ) como se muestra en el siguiente ejemplo para que la columna muestre el nombre real del dispositivo (como sda, sda1 o sdb1):

sar -p -d 1 1

El resultado se parece al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:59:45 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:59:46 PM       sda      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM      sda1      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM      sdb1      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM      sdc1      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM      sde1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM      sdf1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM      sda2      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91
01:59:46 PM      sdb2      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91

Este comando tiene las siguientes variaciones:

  • sar -d
  • sar -d 1 3
  • sar -d -f /var/log/sa/sa10
  • sar -p -d

7. Mostrar el cambio de contexto por segundo

Ejecute el siguiente comando para mostrar el cambio de contexto por segundo:

sar -w

Este comando informa el número total de procesos creados por segundo y el número total de cambios de contexto por segundo. Si agrega 1 3 hasta el final del comando como se muestra en el siguiente ejemplo, informa cada 1 segundo un total de 3 veces:

sar -w 1 3

El resultado es similar al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

08:32:24 AM    proc/s   cswch/s
08:32:25 AM      3.00     53.00
08:32:26 AM      4.00     61.39
08:32:27 AM      2.00     57.00

Este comando tiene las siguientes variaciones:

  • sar -w
  • sar -w 1 3
  • sar -w -f /var/log/sa/sa10

8. Mostrar la cola de ejecución y el promedio de carga

Ejecute el siguiente comando para mostrar la cola de ejecución y el promedio de carga:

sar -q

Este comando informa el tamaño de la cola de ejecución y el promedio de carga durante el último minuto, los últimos 5 minutos y los últimos 15 minutos. Si agrega 1 3 hasta el final del comando como se muestra en el siguiente ejemplo, informa por cada segundo un total de 3 veces:

sar -q 1 3

El resultado se parece al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

06:28:53 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
06:28:54 AM         0       230      2.00      3.00      5.00         0
06:28:55 AM         2       210      2.01      3.15      5.15         0
06:28:56 AM         2       230      2.12      3.12      5.12         0
Average:            3       230      3.12      3.12      5.12         0

Nota :El blocked La columna muestra la cantidad de tareas que están actualmente bloqueadas y esperando que se completen las operaciones de E/S.

Este comando tiene las siguientes variaciones:

  • sar -q
  • sar -q 1 3
  • sar -q -f /var/log/sa/sa10

9. Mostrar estadísticas de la red

Ejecute el siguiente comando para mostrar las estadísticas de la red:

sar -n

Este comando informa varias estadísticas de red, como la cantidad de paquetes recibidos (transmitidos) a través de la tarjeta de red o la cantidad de fallas de paquetes que ocurrieron. Si agrega 1 3 al final del comando, informa por cada 1 segundo un total de 3 veces.

También puede agregar una palabra clave al comando, como se muestra en el siguiente ejemplo:

sar -n KEYWORD

KEYWORD puede ser una de las siguientes opciones:

  • DEV :Muestra estadísticas vitales para dispositivos de red
  • EDEV :Mostrar estadísticas de fallas para dispositivos de red
  • NFS :muestra las actividades del cliente del sistema de archivos de red (NFS)
  • NFSD :Muestra las actividades del servidor NFS
  • SOCK :Muestra los sockets que están en uso para IPv4
  • IP :muestra el tráfico de red IPv4
  • EIP :Muestra errores de red IPv4
  • ICMP :muestra el tráfico de red ICMPv4
  • EICMP :Muestra errores de red ICMPv4
  • TCP :muestra el tráfico de red TCPv4
  • ETCP :Muestra errores de red TCPv4
  • UDP :muestra el tráfico de red UDPv4
  • SOCK6 , IP6 , EIP6 , ICMP6 y UDP6 :Muestra información de red IPv6
  • ALL :Muestra toda la información anterior

El siguiente ejemplo usa el DEV palabra clave:

sar -n DEV 1 1

El resultado se parece al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:11:13 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
01:11:14 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:11:14 PM      eth0    342.57    342.57  93923.76 141773.27      0.00      0.00      0.00
01:11:14 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

10. Informar datos sar por hora de inicio

Ejecute el siguiente comando para informar los datos de sar por hora de inicio:

sar -s

Cuando ve datos sar históricos de /var/log/sa/saXX archivo usando el sar -f opción, la salida muestra todos los datos sar para ese día específico a partir de las 12:00 a. m.

Puedes usar -s hh:mi:ss opción para especificar la hora de inicio. Por ejemplo, si especifica sar -s 10:00:00 , la salida del comando muestra los sardata a partir de las 10 a. m. (en lugar de la medianoche predeterminada).

Puedes combinar las -s bandera con otras banderas sar. Por ejemplo, para informar el promedio de carga el día 26 del mes actual a partir de las 10 a.m., combine -q y -s banderas como se muestra en el siguiente ejemplo:

sar -q -f /var/log/sa/sa23 -s 10:00:01

El resultado se parece al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         0       127      2.00      3.00      5.00         0
10:20:01 AM         0       127      2.00      3.00      5.00         0
...
11:20:01 AM         0       127      5.00      3.00      3.00         0
12:00:01 PM         0       127      4.00      2.00      1.00         0

No puede especificar una hora de finalización. En su lugar, debe usar el head dominio. Por ejemplo, si desea comenzar desde las 10 a. m. y ver 7 entradas, canalice la salida anterior a head -n 10 , como se muestra en el siguiente ejemplo:

sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10

El resultado se parece al siguiente ejemplo:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         0       127      2.00      3.00      5.00         0
10:20:01 AM         0       127      2.00      3.00      5.00         0
10:30:01 AM         0       127      3.00      5.00      2.00         0
10:40:01 AM         0       127      4.00      2.00      1.00         2
10:50:01 AM         0       127      3.00      5.00      5.00         0
11:00:01 AM         0       127      2.00      1.00      6.00         0
11:10:01 AM         0       127      1.00      3.00      7.00         2

Linux
  1. Cómo usar BusyBox en Linux

  2. Cómo usar BUSCAR en Linux

  3. Linux:¿cómo usar tres monitores en una computadora portátil?

  4. Cómo instalar y usar Glances para monitorear sistemas Linux

  5. Posible usar un .dll en Linux

Use emoji al estilo de Mac en Linux

Cómo usar pkgsrc en Linux

Cómo usar htop para monitorear los procesos del sistema Linux

Supervise los recursos del sistema con Bashtop y Bpytop en Linux

Cómo instalar y usar el comando SAR (para monitorear el rendimiento del sistema) en Linux

Ejemplos de comandos sar en Linux