Comandos Mediciòn de Rendimiento - Información Específica A Red Hat Enterprise Linux
Comandos Mediciòn de Rendimiento - Información Específica A Red Hat Enterprise Linux
Anterior
Siguiente
2.5.1.
free
El comando free muestra la utilizacin de la memoria del sistema. He aqu un ejemplo de esta salida:
total
Mem:
255508
-/+ buffers/cache:
Swap:
530136
used
240268
146488
26268
free
15240
109020
503868
shared
0
buffers
7592
cached
86188
La fila Mem: muestra la utilizacin de la memoria fsica, mientras que la fila Swap: muestra la utilizacin del espacio de intercambio (swap)
del sistema. La fila -/+ buffers/cache: muestra la cantidad de memoria actualmente dedicada a las memorias intermedias del sistema
(buffers).
Puesto que por defecto free solamente muestra la utilizacin de memoria una vez, solamente es til para una supervisin de corto tiempo, o
para determinar rpidamente si un problema relacionado con la memoria est en progreso actualmente. Aunque free tiene la habilidad de
mostrar repetidamente los nmeros de utilizacin de memoria a travs de su opcin -s, la salida se desplaza, haciendo difcil detectar
cambios en la utilizacin de memoria.
Sugerencia
Una mejor solucin que utilizar free -s, sera ejecutar el comando free usando el comando watch. Por ejemplo, para
mostrar la utilizacin de memoria cada dos segundos (el intervalo de muestra predeterminado para watch), utilice este
comando:
watch free
El comando watch ejecuta el comando free cada dos segundos, limpiando la pantalla para mostrar la salida actualizada y
volviendo a escribir en la misma ubicacin de pantalla. Esto hace mucho ms fcil determinar cmo cambia la utilizacin de
memoria con el tiempo, pues no es necesario escanear contnuamente desplazando la salida. Puede controlar el retraso
entre actualizaciones usando la opcin -n y causar que cualquier cambio entre actualizaciones sea resaltado usando la
opcin -d, como en el comando siguiente:
watch -n 1 -d free
Para ms informacin, consulte la pgina man de watch.
El comando watch se ejecuta hasta ser interrupido con [Ctrl]-[C]. El comando watch es uno a recordar; puede ser muy til
en muchas situaciones.
2.5.2.
top
Mientras que free muestra solamente informacin relacionada con la memoria, el comando top hace un poquito de todo. Utilizacin del
CPU, estadsticas de procesos, utilizacin de memoria top lo monitoriza todo. Adems, a diferencia de free command, el
comportamiento predeterminado de top es el de ejecutarse de forma contnua, no hay necesidad de utilizar el comando watch. He aqu una
muestra de la pantalla:
14:06:32 up 4 days, 21:20, 4 users, load average: 0.00, 0.00, 0.00
77 processes: 76 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: cpu
user
nice system
irq softirq iowait
idle
total
19.6%
0.0%
0.0%
0.0%
0.0%
0.0% 180.2%
cpu00
0.0%
0.0%
0.0%
0.0%
0.0%
0.0% 100.0%
cpu01
19.6%
0.0%
0.0%
0.0%
0.0%
0.0%
80.3%
Mem: 1028548k av, 716604k used, 311944k free,
0k shrd, 131056k buff
324996k actv, 108692k in_d,
13988k in_c
Swap: 1020116k av,
5276k used, 1014840k free
382228k cached
PID USER
PRI
NI
SIZE
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1-resource-rhlspec.html[07-01-2015 13:15:26]
17578
19154
1
2
3
4
5
6
9
7
8
10
11
root
root
root
root
root
root
root
root
root
root
root
root
root
15
20
15
RT
RT
15
34
35
15
15
15
15
25
0 13456 13M
0 1176 1176
0
168 160
0
0
0
0
0
0
0
0
0
19
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9020
892
108
0
0
0
0
0
0
0
0
0
0
S
R
S
SW
SW
SW
SWN
SWN
SW
SW
SW
SW
SW
18.5
0.9
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
1.3
0.1
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
26:35
0:00
0:09
0:00
0:00
0:00
0:00
0:00
0:07
1:19
0:14
0:03
0:00
1
1
0
0
1
0
0
1
1
0
1
1
0
rhn-applet-gu
top
init
migration/0
migration/1
keventd
ksoftirqd/0
ksoftirqd/1
bdflush
kswapd
kscand
kupdated
mdrecoveryd
La pantalla se divide en dos secciones. La parte superior contiene informacin relacionada con el estatus general del sistema tiempo
ejecutndose, carga promedio, cuentas de procesos, estado del CPU y estadsticas de utilizacin para la memoria y el espacio de
intercambio. La seccin de abajo muestra estadsticas a nivel de procesos. Es posible cambiar lo que se muestra mientras top se ejecuta.
Por ejemplo, por defecto top muestra procesos activos y ociosos. Para mostrar solamente procesos activos o que no estn ociosos,
presione [i]; otro toque lo retorna al modo de visualizacin predeterminado.
Atencin
An cuando top pareciera como un simple programa de visualizacin, este no es el caso. Esto es porque top utiliza
comandos de carcteres simples para llevar a cabo diferentes operaciones. Por ejemplo, si usted est conectado como
root, le es posible cambiar la prioridad y hasta matar cualquier proceso en su sistema. Por lo tanto, hasta que no haya
revisado la pantalla de ayuda de top (escriba [?] para mostrar la ayuda), es ms seguro solamente pulsar [q] (sale de
top).
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1-resource-rhlspec.html[07-01-2015 13:15:26]
2.5.3.
vmstat
Para una comprensin ms concisa del rendimiento del sistema, intente con vmstat. Con vmstat, es posible obtener una vista general de
los procesos, memoria, swap, E/S, sistema y actividad de CPU en una lnea de nmeros:
procs
r b
0 0
memory
swpd
free
buff cache
5276 315000 130744 380184
si
1
swap
so
1
bi
2
io
bo
24
in
14
system
cpu
cs us sy id wa
50 1 1 47 0
La primera lnea divide los campos en seis categoras, incluyendo procesos, memoria, swap, E/S, sistema y estadsticas relacionadas al
CPU. La segunda lnea identifica an ms los contenidos de cada campo, haciendo ms fcil escanear datos para ver estadsticas
especficas.
Los campos relacionados a procesos son:
r El nmero de procesos ejecutables esperando para acceder al CPU
b El nmero de procesos en un estado dormido contnuo
Los campos relacionados a la memoria son:
swpd La cantidad de memoria utilizada
free La cantidad de memoria libre
buff La cantidad de memoria utilizada por las memorias intermedias
cache La cantidad de memoria utilizada como cach de pginas
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1-resource-rhlspec.html[07-01-2015 13:15:26]
%user
6.11
%nice
2.56
%sys
2.15
%idle
89.18
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1-resource-rhlspec.html[07-01-2015 13:15:26]
07/11/2003
Device:
dev3-0
tps
1.68
Blk_read/s
15.69
Blk_wrtn/s
22.42
Blk_read
31175836
Blk_wrtn
44543290
Debajo de la primera lnea (la cual contiene la versin del kernel del sistema y el nombre del host, junto con la fecha actual), iostat
muestra una vista general de la utilizacin promedio del CPU desde el ltimo arranque. El informe de utilizacin del CPU incluye los
porcentajes siguientes:
Porcentaje de tiempo en modo usuario (ejecutando aplicaciones, etc.)
Porcentaje de tiempo en modo usuario (para procesos que han alterado su prioridad de planificacin usando nice(2))
Porcentaje de tiempo en modo kernel
Porcentaje de tiempo ocioso
Debajo del informe de utilizacin del CPU est el informe de utilizacin de dispositivos. Este informe contiene una lnea para cada dispositivo
en el sistema e incluye la informacin siguiente:
La especificacin de dispositivos, mostrada como dev<major-number>-sequence-number, donde <major-number> es el
nmero principal ("major") del dispositivo[1] y <sequence-number> es un nmero secuencial comenzando desde cero.
El nmero de transferencias (u operaciones de E/S) por segundo.
El nmero de bloques de 512 bytes ledos por segundo.
El nmero de bloques de 512 bytes escritos por segundo.
El nmero total de bloques de 512 bytes ledos.
El nmero total de bloques de 512 bytes escritos.
Esto es solamente un muestra de la informacin que se puede obtener usando iostat. Para ms informacin, consulte la pgina man de
iostat(1).
CPU
all
%user
6.40
%nice %system
5.84
3.29
%idle
84.47
07/11/2003
intr/s
542.47
Con la excepcin de una columna adicional mostrando las interrupciones por segundo manejadas por el CPU, no hay diferencia real. Sin
embargo, la situacin cambia si se utiliza la opcin de mpstat, -P ALL.
Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com)
07:13:03
07:13:03
07:13:03
07:13:03
PM
PM
PM
PM
CPU
all
0
1
%user
6.40
6.36
6.43
%nice %system
5.84
3.29
5.80
3.29
5.87
3.29
%idle
84.47
84.54
84.40
07/11/2003
intr/s
542.47
542.47
542.47
En sistemas multiproceso, mpstat permite desplegar de forma individual la utilizacin de cada CPU, haciendo posible determinar que tan
efectivamente se utiliza cada CPU.
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1-resource-rhlspec.html[07-01-2015 13:15:26]
El formato de un informe sar generado por la configuracin predeterminada de Red Hat Enterprise Linux consiste de mltiples secciones,
con cada seccin conteniendo un tipo de datos especfico, ordenados por hora del da en que los datos fueron reunidos. Puesto que sadc
est configurado para ejecutar un intervalo de un segundo cada 10 minutos, el informe sar predeterminado contiene datos en incrementos
de 10 minutos, desde las 00:00 hasta las 23:50[2].
Cada seccin del informe comienza con un encabezado describiendo los datos contenidos en la seccin. El encabezado se repite a
intervalos regulares a lo largo de la seccin, haciendo ms fcil interpretar los datos mientras se hojea el informe. Cada seccin termina con
una lnea conteniendo el promedio de datos informados en la seccin.
He aqu una seccin de ejemplo de un informe sar, con los datos desde 00:30 hasta 23:40 eliminados para ahorrar espacio:
00:00:01
00:10:00
00:20:01
23:50:01
Average:
CPU
all
all
%user
6.39
1.61
%nice
1.96
3.16
%system
0.66
1.09
%idle
90.98
94.14
all
all
44.07
5.80
0.02
4.99
0.77
2.87
55.14
86.34
En esta seccin, se muestra la informacin de utilizacin del CPU. Esto es muy similar a los datos mostrados por iostat.
Otras secciones pueden tener ms de una lnea necesaria para datos, como se muestra en esta seccin generada a partir de los datos de
utilizacin del CPU en un sistema con dos procesadores:
00:00:01
00:10:00
00:10:00
00:20:01
00:20:01
23:50:01
23:50:01
Average:
Average:
CPU
0
1
0
1
%user
4.19
8.59
1.87
1.35
%nice
1.75
2.18
3.21
3.12
%system
0.70
0.63
1.14
1.04
%idle
93.37
88.60
93.78
94.49
0
1
0
1
42.84
45.29
6.00
5.61
0.03
0.01
5.01
4.97
0.80
0.74
2.74
2.99
56.33
53.95
86.25
86.43
Hay un total de diecisiete secciones diferentes presente en los reportes generados por la configuracin predeterminada de Red Hat
Enterprise Linux para sar; se exploran algunas en los siguientes captulos. Para ms informacin sobre los datos contenidos en cada
seccin, consulte la pgina del manual de sar(1).
2.5.5. OProfile
El perfilador global del sistema OProfile, es una herramienta de supervisin con poca sobrecarga. Oprofile aprovecha el hardware de
monitorizacin del rendimiento del procesador[3] para determinar la naturaleza de los problemas relacionados al rendimiento.
El hardware de monitorizacin del rendimiento es parte del procesador mismo. Toma la forma de un contador especial, incrementado cada
vez que ocurre un determinado evento (tal como que el procesador no est ocioso o que los datos requeridos no se encuentren en cach).
Algunos procesadores tienen ms de uno de tales contadores y permiten la seleccin de tipos diferentes para cada contador.
Los contadores se pueden cargar con un valor inicial y producir una interrupcin cuando se desborde el contador. Al cargar el contador con
valores iniciales diferentes, es posible variar las tasas en las que ocurre la interrupcin. De esta forma es posible controlar la tasa de muestra
y, por lo tanto, el nivel de detalle obtenido desde los datos reunidos.
En un extremo, al establecer el contador de manera que genere una interrupcin por desborde con cada evento, proporciona datos de
rendimiento en extremo detalle (pero con una sobrecarga excesiva). En el otro extremo, al configurar el contador para que genere tan pocas
interrupciones como sea posible solamente proporciona la vista ms general del rendimiento del sistema (practicamente sin ninguna
sobrecarga). El secreto para una monitorizacin efectiva es la seleccin de una tasa de muestra lo suficientemente alta como para capturar
los datos requeridos, pero no tan alta como para sobrecargar el sistema con la monitorizacin.
Atencin
Puede configurar OProfile para que produzca tanta sobrecarga como para dejar el sistema inutilizable. Por lo tanto, debe
tener cuidado cuando seleccione los valores de contador. Por esta razn, el comando opcontrol soporta la opcin -list-events, el cual despliega los diferentes tipos de eventos disponibles para el procesador instalado actualmente,
junto con los valores de contador mnimos sugeridos para cada uno.
Es importante tener en mente el costo de la relacin entre la tasa de muestra y la sobrecarga cuando se utiliza OProfile.
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1-resource-rhlspec.html[07-01-2015 13:15:26]
El software de coleccin de datos consiste del mdulo del kernel oprofile.o y el demonio oprofiled.
El software de anlisis de datos incluye los programas siguientes:
op_time
Muestra el nmero y los porcentajes relativos de las muestras tomadas por cada archivo ejecutable
oprofpp
Muestra el nmero y el porcentaje relativo de muestras tomadas por funcin, instruccin individual o en salida estilo gprof.
op_to_source
Muestra cdigo fuente anotado y o listados de acumulacin
op_visualise
Presenta los datos reunidos de forma grfica
Estos programas hacen posible mostrar los datos reunidos en diferentes formas.
El software de interfaz administrativa controla todos los aspectos de la coleccin de datos, desde especificar cuales eventos especficos
sern monitorizados hasta arrancar y detener la coleccin de datos mismos. Esto se hace usando el comando opcontrol.
Size
75616
Used by
1
Not tainted
Confirme que el sistema de archivos de OProfile (ubicado en /dev/oprofile/) est montado con el comando ls /dev/oprofile/:
0
1
buffer
buffer_size
buffer_watershed
cpu_buffer_size
cpu_type
dump
enable
kernel_only
stats
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1-resource-rhlspec.html[07-01-2015 13:15:26]
Profiler running.
Verifique que el demonio oprofiled est ejecutndose con el comando ps x | grep -i oprofiled:
32019 ?
32021 pts/0
S
S
(La lnea de comandos real de oprofiled mostrada por ps es mucho ms larga; sin embargo, la hemos truncado para propsitos de
formato.)
Ahora se est monitorizando el sistema, con todos los datos reunidos por todos los ejecutables en el sistema. Los datos son almacenados
en el directorio /var/lib/oprofile/samples/. Los archivos en este directorio siguen una convencin de nombres un poco inusual. He
aqu un ejemplo:
}usr}bin}less#0
La convencin de nombres utiliza la ruta absoluta de cada archivo conteniendo cdigo ejecutable, reemplazando los carcteres de barra
oblcua (/) por llaves (}), y terminndose con una almohadilla (#) seguido de un nmero (en este caso, 0.) Por lo tanto, el archivo utilizado
en este ejemplo representa los datos reunidos mientras se estaba ejecutando /usr/bin/less.
Una vez que los datos son reunidos, utilice alguna de las herramientas de anlisis de datos para desplegarlos. Una de las buenas
funcionalidades de OProfile es que no es necesario detener la recoleccin de datos antes de efectuar el anlisis de datos. Sin embargo,
debe esperar al menos a que se escriban un conjunto de muestras al disco, o utilice el comando opcontrol --dump para forzar las
muestras al disco.
En el ejemplo siguiente, op_time se utiliza para mostrar (en orden inverso desde el nmero ms alto de muestras hasta el ms bajo) las
muestras que se han reunido:
3321080
761776
368933
293570
205231
167575
123095
105677
48.8021
11.1940
5.4213
4.3139
3.0158
2.4625
1.8088
1.5529
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
/boot/vmlinux-2.4.21-1.1931.2.349.2.2.entsmp
/usr/bin/oprofiled
/lib/tls/libc-2.3.2.so
/usr/lib/libgobject-2.0.so.0.200.2
/usr/lib/libgdk-x11-2.0.so.0.200.2
/usr/lib/libglib-2.0.so.0.200.2
/lib/libcrypto.so.0.9.7a
/usr/X11R6/bin/XFree86
Es una buena idea el uso de less cuando se genera un informe interactivamente, ya que los informes pueden ser de cientos de lneas. El
ejemplo dado aqu se ha truncado por este motivo.
El formato para este informe en particular es que se produce una lnea para cada archivo ejecutable para los que se tomaron muestras.
Cada lnea sigue el formato siguiente:
<sample-count> <sample-percent> <unused-field> <executable-name>
Donde:
<sample-count> representa el nmero de muestras reunidas
<sample-percent> representa el porcentaje de todas las muestras reunidas para este ejecutable en particular.
<unused-field> es un campo que no se utiliza
<executable-name> representa el nombre del archivo que contiene el cdigo del ejecutable para el que se reunen las muestras.
Este reporte (producido en la mayora de los sistemas ociosos) muestra que casi la mitad de todas las muestras fueron tomadas mientras
que el CPU estaba ejecutando cdigo dentro del kernel mismo. Luego en la lnea estaba el demonio de coleccin de datos de OProfile,
seguido por una variedad de bibliotecas y el servidor del sistema X Window, XFree86. Es de utilidad tomar en cuenta que para el sistema
ejecutando la sesin de muestra, el valor del contador usado de 6000 representa el valor mnimo recomendado por opcontrol --listevents. Esto significa que al menos para este sistema en particular la sobrecarga de OProfile en su punto ms alto, consume
aproximadamente 11% del CPU.
Notas
[1]
[2]
[3]
Los nmeros "major" de dispositivos se pueden encontrar usando ls -l para mostrar el archivo de dispositivo deseado en
/dev/. El nmero major aparece despus de la especificacin del grupo del dispositivo.
Debido a las cargas variantes del sistema, la hora real en la que los datos fueron tomados puede variar por uno o dos segundos.
OProfile tambin puede utilizar un mecanismo de fallback (conocido como TIMER_INT) para aquellas arquitecturas que no tienen
el hardware de monitorizacin de rendimiento.
Anterior
Qu monitorizar?
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1-resource-rhlspec.html[07-01-2015 13:15:26]
Inicio
Subir
Siguiente
Recursos adicionales