Base de conocimientos · Servidores dedicados y VPS

Cómo usar sar para supervisar los recursos del servidor (Linux)

Última actualización: 2025-06-16

10 USOS DE SAR


1. Uso de CPU de TODAS las CPU (sar -u)

Muestra el uso acumulado de CPU en tiempo real de todas las CPU. “1 3″ informa cada 1 segundo un total de 3 veces. Lo más probable es que desee fijarse en el último campo, “%idle”, para ver la carga de la CPU.

$ sar -u 1 3
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


A continuación se muestran algunas variaciones:

  • sar -u Muestra el uso de CPU del día actual recopilado hasta ese momento.
  • sar -u 1 3 Muestra el uso de CPU en tiempo real cada 1 segundo, 3 veces.
  • sar -u ALL Igual que “sar -u”, pero muestra campos adicionales.
  • sar -u ALL 1 3 Igual que “sar -u 1 3″, pero muestra campos adicionales.
  • sar -u -f /var/log/sa/sa10 Muestra el uso de CPU del día 10 del mes a partir del archivo sa10.


2. Uso de CPU de una CPU o núcleo individual (sar -P)

Si su servidor tiene 4 núcleos y desea ver qué hace cada uno de ellos, proceda de la siguiente manera.

“-P ALL” indica que se deben mostrar las estadísticas de TODOS los núcleos individuales.

En el siguiente ejemplo, los números 0, 1, 2 y 3 de la columna “CPU” indican los números de núcleo de CPU correspondientes.

$ sar -P ALL 1 1
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


“-P 1″ indicates that it should display statistics only for the 2nd Core. (Note that Core numbers start at 0).


$ sar -P 1 1 1
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


A continuación se muestran algunas variaciones:

  • sar -P ALL Muestra el uso de CPU del día actual desglosado por todos los núcleos.
  • sar -P ALL 1 3 Muestra el uso de CPU en tiempo real de TODOS los núcleos cada 1 segundo, 3 veces (desglosado por todos los núcleos).
  • sar -P 1 Muestra el uso de CPU del núcleo número 1 del 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 la CPU desglosado por todos los núcleos correspondiente al día 10 del mes, a partir del archivo sa10.


3. Memoria libre y utilizada (sar -r)

Este comando informa de las estadísticas de memoria. “1 3″ genera un informe cada 1 segundo, un total de 3 veces. Lo más probable es que le interese fijarse en “kbmemfree” y “kbmemused”, que indican la memoria libre y la utilizada.

$ sar -r 1 3
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


A continuación se muestran algunas variaciones:

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


4. Espacio de intercambio (swap) utilizado (sar -S)

Este comando informa de las estadísticas del espacio de intercambio (swap). “1 3″ genera un informe cada 1 segundo, un total de 3 veces. Si “kbswpused” y “%swpused” están en 0, el sistema no está utilizando swap.

$ sar -S 1 3
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


A continuación se muestran algunas variaciones:

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


Notas:

  • Utilice “sar -R” para identificar el número de páginas de memoria liberadas, utilizadas y almacenadas en caché por segundo por el sistema.
  • Utilice “sar -H” para identificar las hugepages (en KB) utilizadas y disponibles.
  • Utilice “sar -B” para generar estadísticas de paginación, es decir, el número de KB paginados desde el disco (y hacia el disco) por segundo.
  • Utilice “sar -W” para generar estadísticas de intercambio de páginas, es decir, las páginas intercambiadas hacia la memoria (y desde ella) por segundo.


5. Actividad general de E/S (sar -b)

Este comando informa de las estadísticas de E/S. “1 3″ genera un informe cada 1 segundo, un total de 3 veces.

En el siguiente ejemplo se muestran los campos que se indican a continuación.

  • tps – Transacciones por segundo (incluye tanto lecturas como escrituras)
  • rtps – Transacciones de lectura por segundo
  • wtps – Transacciones de escritura por segundo
  • bread/s – Bytes leídos por segundo
  • bwrtn/s – Bytes escritos por segundo

$ sar -b 1 3
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

 

A continuación se muestran algunas variaciones:

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

Nota: Utilice “sar -v” para mostrar el número de manejadores de inodos, manejadores de archivos y pseudoterminales que utiliza el sistema.



6. Actividad de E/S de cada dispositivo de bloques (sar -d)

Para identificar la actividad de cada dispositivo de bloques (es decir, un punto de montaje, un LUN o una partición concretos), utilice “sar -d”

$ sar -d 1 1
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 el ejemplo anterior, “DEV” indica un dispositivo de bloques concreto.


Por ejemplo: “dev53-1″ significa un dispositivo de bloques con 53 como número mayor y 1 como número menor.

La columna del nombre del dispositivo (DEV) puede mostrar el nombre real del dispositivo (por ejemplo: sda, sda1, sdb1, etc.) si utiliza la opción -p (impresión legible), como se muestra a continuación.

$ sar -p -d 1 1
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

 

A continuación se muestran algunas variantes:

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


7. Mostrar los cambios de contexto por segundo (sar -w)

Este comando informa del número total de procesos creados por segundo y del número total de cambios de contexto por segundo. “1 3″ genera un informe cada 1 segundo, un total de 3 veces.

$ sar -w 1 3
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

 

A continuación se muestran algunas variaciones:

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


8. Informar de la cola de ejecución y de la carga media (sar -q)

Este comando informa del tamaño de la cola de ejecución y de la carga media durante el último 1 minuto, los últimos 5 minutos y los últimos 15 minutos. “1 3″ genera un informe cada 1 segundo, un total de 3 veces.

$ sar -q 1 3
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: La columna “blocked” muestra el número de tareas que están bloqueadas actualmente y esperan a que finalice una operación de E/S.

A continuación se muestran algunas variaciones:

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


9. Informar de las estadísticas de red (sar -n)

Este comando informa de diversas estadísticas de red. Por ejemplo: el número de paquetes recibidos (transmitidos) a través de la tarjeta de red, estadísticas de fallos de paquetes, etc. “1 3″ genera un informe cada 1 segundo, un total de 3 veces.

sar -n KEYWORD

 

Palabras clave puede ser una de las siguientes:

  • DEV – Muestra las estadísticas vitales de los dispositivos de red, como eth0, eth1, etc.
  • EDEV – Muestra las estadísticas de fallos de los dispositivos de red
  • NFS – Muestra la actividad del cliente NFS
  • NFSD – Muestra la actividad del servidor NFS
  • SOCK – Muestra los sockets en uso para IPv4
  • IP – Muestra el tráfico de red IPv4
  • EIP – Muestra los errores de red IPv4
  • ICMP – Muestra el tráfico de red ICMPv4
  • EICMP – Muestra los errores de red ICMPv4
  • TCP – Muestra el tráfico de red TCPv4
  • ETCP – Muestra los errores de red TCPv4
  • UDP – Muestra el tráfico de red UDPv4
  • SOCK6, IP6, EIP6, ICMP6 y UDP6 corresponden a IPv6
  • ALL – Muestra toda la información anterior. La salida será muy extensa.
$ sar -n DEV 1 1
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 de los datos de sar a partir de una hora de inicio (sar -s)

When you view historical sar data from the /var/log/sa/saXX file using “sar -f” option, it displays all the sar data for that specific day starting from 12:00 a.m. for that day.

Con la opción “-s hh:mi:ss” puede especificar la hora de inicio. Por ejemplo, si especifica “sar -s 10:00:00″, se mostrarán los datos de sar a partir de las 10 a.m (en lugar de comenzar desde la medianoche), como se muestra a continuación.

Puede combinar la opción -s con otras opciones de sar.

Por ejemplo, para obtener el promedio de carga del día 26 de este mes a partir de las 10 de la mañana, combine las opciones -q y -s como se muestra a continuación.

$ sar -q -f /var/log/sa/sa23 -s 10:00:01
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 existe una opción para limitar la hora de finalización. Tendrá que ser creativo y utilizar el comando head como se muestra a continuación.


Por ejemplo, si desea ver 7 entradas a partir de las 10 de la mañana, debe redirigir la salida anterior mediante una canalización a “head -n 10″.

$ sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10
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


Queda mucho más por explorar sobre la supervisión y el ajuste del rendimiento en Linux. Apenas estamos comenzando. Próximamente publicaremos más artículos de la serie sobre rendimiento.


← Todos los artículos de base de conocimientos

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.