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 elsar -u
comando, pero muestra campos adicionales.sar -u ALL 1 3
:Igual que elsar -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 elsa10
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 elsa10
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 segundowtps
:Escribir transacciones por segundobread/s
:Bytes leídos por segundobwrtn/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 redEDEV
:Mostrar estadísticas de fallas para dispositivos de redNFS
:muestra las actividades del cliente del sistema de archivos de red (NFS)NFSD
:Muestra las actividades del servidor NFSSOCK
:Muestra los sockets que están en uso para IPv4IP
:muestra el tráfico de red IPv4EIP
:Muestra errores de red IPv4ICMP
:muestra el tráfico de red ICMPv4EICMP
:Muestra errores de red ICMPv4TCP
:muestra el tráfico de red TCPv4ETCP
:Muestra errores de red TCPv4UDP
:muestra el tráfico de red UDPv4SOCK6
,IP6
,EIP6
,ICMP6
yUDP6
:Muestra información de red IPv6ALL
: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