Comando Linux sar

Linux 命令大全Manual completo de comandos Linux


1. ¿Qué es el comando sar?

sar (System Activity Reporter) es una poderosa herramienta de monitoreo de rendimiento en el sistema Linux, que forma parte del paquete de herramientas sysstat. Puede recopilar, informar y guardar diversa información de actividad del sistema, incluyendo:

  • Uso de CPU
  • Utilización de memoria
  • Actividad de E/S
  • Estadísticas de red
  • Actividad de procesos
  • Carga de dispositivos, etc.

1.1 Ventajas del comando sar

  1. Análisis de datos históricos: puede ver el estado del sistema en cualquier momento del pasado
  2. Monitoreo integral: cubre todos los indicadores clave de rendimiento del sistema
  3. Baja sobrecarga: la recopilación de datos tiene un impacto mínimo en el rendimiento del sistema
  4. Automatización: se puede configurar para recopilar datos automáticamente de forma periódica

2. Instalación y configuración básica

2.1 Instalar el paquete sysstat

En la mayoría de las distribuciones de Linux, el comando sar se obtiene instalando el paquete sysstat:

# Ubuntu/Debian
sudo apt-get install sysstat

# CentOS/RHEL
sudo yum install sysstat

# Fedora
sudo dnf install sysstat

2.2 Habilitar la recopilación de datos

Después de la instalación, es necesario habilitar el servicio de recopilación de datos:

Ejemplo

# Editar el archivo de configuración
sudo vi /etc/default/sysstat

# Cambiar ENABLED="false" a
ENABLED="true"

# Reiniciar el servicio
sudo systemctl restart sysstat

De forma predeterminada, sar recopila datos cada 10 minutos y los guarda en/var/log/sysstat/el directorio.


3. Sintaxis básica y parámetros comunes

3.1 Formato de sintaxis básica

sar [选项] [间隔时间] [次数]

3.2 Descripción de parámetros comunes

Parámetro Descripción
-A Mostrar todos los informes
-u Mostrar la utilización de CPU
-r Mostrar el uso de memoria
-b Mostrar estadísticas de E/S y tasas de transferencia
-n DEV Mostrar estadísticas de dispositivos de red
-q Mostrar la carga del sistema y la longitud de colas
-d Mostrar actividad del disco
-P ALL Mostrar estadísticas de cada CPU
-s Especificar hora de inicio
-e Especificar hora de fin
-f Leer datos del archivo especificado

4. Ejemplos de aplicación práctica

4.1 Monitoreo en tiempo real del uso de CPU

Ejemplo

# Refrescar cada 2 segundos, mostrar 5 veces en total
sar -u 2 5

Ejemplo de salida:

Linux 5.4.0-91-generic (hostname)  03/15/2023  _x86_64_  (4 CPU)

10:30:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:30:03 AM     all      5.12      0.00      1.02      0.51      0.00     93.35
10:30:05 AM     all      6.23      0.00      1.34      0.23      0.00     92.20

4.2 Ver el uso histórico de memoria

Ejemplo

# Ver el uso de memoria de hoy
sar -r

# Ver datos de una fecha específica (requiere especificar archivo)
sar -r -f /var/log/sysstat/sa15  # Datos del día 15

4.3 Monitorear la actividad de E/S del disco

Ejemplo

# Monitorear la actividad del disco, actualizar cada 1 segundo, 10 veces en total
sar -d 1 10

4.4 Ver estadísticas de interfaces de red

Ejemplo

# Monitorear la actividad de las interfaces de red
sar -n DEV 1 5

5. Uso avanzado y trucos

5.1 Monitoreo combinado de múltiples métricas

Ejemplo

# Monitorear CPU, memoria y disco al mismo tiempo
sar -urdb 1 5

5.2 Generar informes de un período de tiempo específico

Ejemplo

# Ver el uso de CPU de 9 a 10 de la mañana
sar -u -s 09:00:00 -e 10:00:00

5.3 Guardar la salida en un archivo

Ejemplo

# Guardar los resultados del monitoreo en un archivo
sar -A 1 10 > system_report.log

5.4 Monitorear núcleos de CPU específicos

Ejemplo

# Monitorear el uso de CPU0
sar -P 0 1 5

6. Guía de interpretación de datos

6.1 Interpretación de métricas de CPU

Métrica Significado Rango saludable
%user Uso de CPU en espacio de usuario <70%
%system Uso de CPU en espacio del kernel <30%
%iowait Tiempo de espera de CPU para E/S <5%
%idle Tiempo de inactividad de CPU >20%

6.2 Interpretación de métricas de memoria

Métrica Significado
kbmemfree Memoria física libre (KB)
kbmemused Memoria física utilizada (KB)
%memused Tasa de uso de memoria
kbbuffers Memoria usada por búferes (KB)
kbcached Memoria usada por caché (KB)

6.3 Interpretación de métricas de disco

Métrica Significado
tps Transferencias por segundo
rd_sec/s Sectores leídos por segundo
wr_sec/s Sectores escritos por segundo
%util Utilización del dispositivo

7. Solución de problemas comunes

7.1 Identificación de cuellos de botella de CPU

Si%usero%systemse mantiene por encima del 80%, puede indicar:

  • Aplicaciones con uso intensivo de cómputo
  • Demasiadas llamadas al sistema
  • Es necesario optimizar el código o aumentar los recursos de CPU

7.2 Detección de memoria insuficiente

Cuando aparecen las siguientes situaciones simultáneamente, puede haber memoria insuficiente:

  • %memusedSe mantiene por encima del 90%
  • kbcachedEl valor es muy bajo
  • Partición de intercambio (kbswpused) con uso elevado

7.3 Identificación de cuellos de botella de E/S

%iowaitAlto y disco%utilalto indica:

  • La E/S del disco se convierte en un cuello de botella
  • Puede que se necesiten dispositivos de almacenamiento más rápidos
  • u optimizar las operaciones intensivas de E/S

Linux 命令大全Manual completo de comandos Linux

Otras extensiones