Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Contenido
1. Introduccin
Medida por deteccin de eventos Medida por muestreo
2. Monitores de actividad
Monitores software, hardware e hbridos
3. Monitorizacin en Unix
Carga media de un sistema Herramientas de monitorizacin Anlisis con SarCheck
4. Anlisis de programas
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
1. Introduccin
Tcnicas de medida: deteccin de eventos y muestreo
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
La medida
Carga Qu est ocurriendo?
Problema de la medida
Qu informacin? Dnde est esta informacin? Cmo se puede extraer y dnde grabarla?
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
Tcnicas de medida
Cmo se toman medidas del sistema?
Cada vez que ocurre un evento Cada periodo fijo de tiempo
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
Deteccin de eventos
Estado del sistema
Contenido de todas las memorias
Ejemplos de eventos:
Inicio/fin de la ejecucin de un programa Activacin de las seales RD* y WR* de memoria Acierto/fallo en memoria cache Atencin a un dispositivo perifrico Abrir/cerrar un fichero
Evento
Provoca un cambio del estado
Ei-1
Estado i-1 Estado i
Ei
Una gran parte de los eventos (no todos) pueden ser detectados por software
Estado i+1
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
Muestreo
Observacin a intervalos regulares o aleatorios
Anlisis estadstico de datos ms fcil Volumen de informacin recogida y precisin: dependen de T
Medidas
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
2. Monitores de actividad
Monitores software, hardware e hbridos
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
Concepto de monitor
Herramienta diseada para observar la actividad de un sistema informtico mientras es utilizado por los usuarios
Monitor Carga
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
Analista
Parametrizar la carga real Calcular los parmetros de entrada a modelos del sistema (analticos o simulacin)
Sistema
Adaptarse dinmicamente a la carga
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
10
Procesador de la informacin
Interfcie de instrumentacin
Grabacin de la informacin
Precisin
Calidad de la medida
Resolucin
Frecuencia de medida
Anchura
Bits de informacin
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
12
Hardware
Dispositivos externos al sistema
Hbridos
Utiliza los dos tipos anteriores Entornos muy especficos
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
13
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
14
Monitores software
Son los ms usados Activacin Ejecucin de instrucciones Sobrecarga Implementacin
Adicin de un nuevo programa Modificacin del software a medir Modificacin del sistema operativo
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
15
Monitores hardware
Instrumentos independientes (externos) del sistema a monitorizar conectados a este mediante sondas electromagnticas Ventajas
No usan recursos del sistema monitorizado Rapidez (circuitos electrnicos)
Inconvenientes
Los sistemas no facilitan la instalacin de sondas Personal especializado para su operacin Hay magnitudes no accesibles por hardware Posibles perturbaciones electromagnticas
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
17
Contador 2 U= Contador 1
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
18
Monitores hbridos
Parte hardware
Acta como un dispositivo de I/O que guarda, analiza y procesa la informacin enviada por la parte software
Parte software
Cdigo aadido al SO: instrucciones especiales de I/O Acta como una sonda que recoge informacin y la enva a la parte hardware
Monitor hbrido
Software
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
19
3. Monitorizacin en Unix
Herramientas de medida: time, who, w, uptime, ps, top, vmstat, df, du, hdparm, sar, mpstat, iostat Herramienta de anlisis SarCheck
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
20
time
Mide el tiempo de ejecucin de un programa
Refleja la percepcin de las prestaciones del sistema por parte del usuario
real: tiempo total usado por el sistema (tiempo de respuesta) user: tiempo de CPU ejecutando en modo usuario (user-state CPU time) sys: tiempo de CPU en modo supervisor (system-state CPU time) ejecutando cdigo del ncleo
%time quicksort real 6m 23s user 3m 50s sys 2m 10s
Tiempo de respuesta = real = 383 s Tiempo de CPU = user+sys = 360 s (94% del total) Tiempo de espera = real-(user+sys) = 23 s (6% del total) consumido en espera de I/O o en la ejecucin de otros programas
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas 21
who y w
who: quin est conectado al sistema (logged on)
fede xavi :0 pts/0 Oct 30 15:07 (console) Oct 30 17:45 (paraiso.disca.upv.es)
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
22
La cola de procesos del ncleo (run queue) est formada por aquellos que pueden ejecutarse (runnable) Carga media (system load average): nmero medio de procesos en ejecucin y en la cola del ncleo
blocked runnable running
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
23
uptime
Tiempo que lleva el sistema en marcha y la carga media que soporta
% uptime 1:21pm
up
Hora actual
Tiempo en marcha
5 ltimos minutos
Estimacin de la carga
Operacin normal: hasta 3 Muy alta: entre 4 y 7 Excesivamente alta: mayor que 10
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
25
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
26
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
27
ps (process status)
Informacin sobre el estado de los procesos del sistema
Es una de las herramientas ms importantes empleadas en tareas de monitorizacin Tiene una gran cantidad de parmetros
$ ps aur USER PID %CPU %MEM VSZ RSS miguel 29951 55.9 0.1 1448 384 carlos 29968 50.6 0.1 1448 384 xavier 30023 0.0 0.5 2464 1492
STAT R R R
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
28
%CPU, %MEM
Porcentaje de procesador y memoria fsica usada
SIZE (o VSIZE)
Memoria (KB) de datos (no cdigo) ocupada por el proceso (non shared virtual memory)
STAT
R (runnable), T (stopped), P (waiting for page-in), D (waiting for disk I/O), S (sleeping for less than 20 s), I (idle for more than 20 s), Z (zombie: terminated but not died) W (swapped out), > (memory soft limit exceeded) N (running niced), < (high niced level)
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas 29
top
Carga media, procesos, consumo de memoria Se actualiza dinmicamente
8:48am up 70 days, 21:36, 1 user, load average: 0.28, 0.06, 0.02 47 processes: 44 sleeping, 3 running, 0 zombie, 0 stopped CPU states: 99.6% user, 0.3% system, 0.0% nice, 0.0% idle Mem: 256464K av, 234008K used, 22456K free, 0K shrd, 13784K buff Swap: 136512K av, 4356K used, 132156K free 5240K cached PID 9826 9831 1 2 4 5 6 7 8 11 USER PRI NI SIZE carlos 0 0 388 miguel 19 0 976 root 20 0 76 root 20 0 0 root 20 19 0 root 20 0 0 root 2 0 0 root 20 0 0 root 20 0 0 root 0 -20 0 RSS SHARE STAT LC %CPU %MEM TIME COMMAND 388 308 R 0 99.6 0.1 0:22 simulador 976 776 R 0 0.3 0.3 0:00 top 64 44 S 0 0.0 0.0 0:03 init 0 0 SW 0 0.0 0.0 0:00 keventd 0 0 SWN 0 0.0 0.0 0:00 ksoftiq 0 0 SW 0 0.0 0.0 0:13 kswapd 0 0 SW 0 0.0 0.0 0:00 bdflush 0 0 SW 0 0.0 0.0 0:10 kdated 0 0 SW 0 0.0 0.0 0:01 kinoded 0 0 SW< 0 0.0 0.0 0:00 recoved
30
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
Procesos: r (runnable), b (I/O blocked), w (swapped out) Bloques por segundo transmitidos: bi (blocks in), (blocks out) KB/s entre memoria y disco: si (swapped in), so (swapped out) in (interrupts por second), cs (context switches)
31
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
1 0
1 5
2 0 In n sa td a e m e d i
2 5
3 0
3 5
4 0
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
32
1 2 0 K( Br df ee m o r) ilr a b e
1 2 0
1 8 0
1 6 0 0 5 1 0 1 5 2 0 Ie n sa td a m e d i 2 5 3 0 3 5 4 0
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
33
1 0
1 5
2 0 In n sa td a e m e d i
2 5
3 0
3 5
4 0
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
34
u s e r s y t e m il d e
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
35
$ hdparm -tT /dev/hda Timing buffer-cache reads: Timing buffered disk reads: 128 MB in 64 MB in 1.15 seconds =111.30 MB/sec 6.04 seconds = 10.60 MB/sec
36
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
El directorio /proc
Contiene ficheros con informacin del sistema
Configuracin Estadsticas: contadores
Ejemplos
cpuinfo meminfo interrupts devices etc.
%more /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 modelo : 5 modelo name : Pentium II (Deschutes) stepping : 2 cpu MHz : 350.807487 cache size : 512 KB fdiv_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr bogomips : 349.80
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
37
El monitor sar
sar (system activity reporter)
Muy utilizado por los administradores de sistemas Unix en la deteccin de cuellos de botella (bottlenecks) Informacin sobre todo el sistema
Actual: qu est pasando el da de hoy, o ahora mismo, al sistema Histrica: qu ha pasado en el sistema en otros das pasados
Ficheros histricos saDD, donde los dgitos DD indican el da del mes
Hace uso de contadores estadsticos del ncleo del sistema operativo ubicados en los directorios /proc y /dev/kmem
Disponibilidad en internet
http://perso.orange.fr/sebastien.godard ftp:atcomputing.nl/pub/tools/linux
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas 38
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
39
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
40
sar
Lee los datos binarios que recoge sadc y las traduce a un formato legible por nosotros en formato texto (front-end)
contadores binarios
/dev/kmem
fichero histrico
sadc
contadores ASCII
sar pipe
Informe
/proc
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
41
Cada ejecucin de sadc aade un registro binario con las datos recogidos al fichero histrico del da
%ls /var/log/sa -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root root root root root root root root root root 3049952 3049952 3049952 3049952 3049952 3049952 3049952 3049952 2372320 Sep 30 23:55 sa30 Oct 1 23:55 sa01 Oct 2 23:55 sa02 Oct 3 23:55 sa03 Oct 4 23:55 sa04 Oct 5 23:55 sa05 Oct 6 23:55 sa06 Oct 7 23:55 sa07 Oct 8 18:45 sa08
Da actual
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
42
-rw-r--r--
Oct 2
23:55
sa02
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
43
Parmetros de sar
Gran cantidad de parmetros
Varan de unas versiones a otras del monitor
-u -B -c -b -d -I -n -q -r -w -W -x PID Utilizacin del procesador Paginacin de la memoria virtual Creacin de procesos Transferencias con la entrada/salida Transferencias para cada disco Sistema de interrupciones Conexin de red Carga media del sistema Sistema de memoria Cambios de contexto Intercambio (swapping) Estadsticas sobre un proceso
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
44
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
45
1 4 : 0
1 6 : 0 H o re a d e m d ia
1 8 : 0
2 0 :
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
46
14:00
18:00
20:00
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
47
8 0
u s e r s y t e m ie d l
6 0 Ur se od do e( lra p) o c s %
4 0
2 0
0 1 2 : 0
1 4 : 0
1 6 : 0 H o re a d e m d ia
1 8 : 0
2 0 :
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
48
Programa SarCheck
Herramienta para
Anlisis de prestaciones Sintonizacin, planificacin de la capacidad
Sistemas Sun Solaris, HP-UX, AIX y Linux x86 Basado en el monitor sar Utiliza gnuplot para generar grficos Genera informes en formato HTML
Seccin de recomendaciones Seccin de anlisis de recursos Sumario de estadsticas, etc.
www.sarcheck.com
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
50
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
51
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
53
Anlisis de programas
Objetivo
Observar el comportamiento de los programas
Etapas a seguir
Compilar el programa habilitando la recogida de informacin Ejecutar el programa instrumentado
Programa original
Aadir instrumentacin
Programa instrumentado
Ejecutar programa
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
55
Monitor gprof
Da informacin sobre el tiempo de ejecucin y nmero de veces que se ejecuta una funcin Utilizacin de gprof
Instrumentacin en la compilacin
gcc prog.c o prog pg g a
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
56
Instrumentacin (-pg) en la compilacin Ejecucin del programa y recogida de informacin Obtencin de la informacin referida a la ejecucin del programa
flat profile
name division atangente producto
self
children
called
name
call profile
0.00 17.71 main [1] 11.12 0.00 2/2 division [2] 3.60 0.00 1/1 atangente [3] 2.99 0.00 3/3 producto [4] ------------------------------------------------------------11.12 0.00 2/2 main [1] [2] 62.8 11.12 0.00 2 division [2] ------------------------------------------------------------3.60 0.00 1/1 main [1] [3] 20.3 3.60 0.00 1 atangente [3] ------------------------------------------------------------2.99 0.00 3/3 main [1] [4] 16.9 2.99 0.00 3 producto [4] ------------------------------------------------------------Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas 58
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
59
Monitor gcov
Aporta informacin sobre el nmero de veces que se ejecuta una lnea de cdigo Utilizacin de gcov
Instrumentacin en la compilacin
gcc prog.c o prog fprofile-arcs ftest-coverage
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
60
%gcc o bucles.c o bucles fprofile-arcs ftestcoverage %prog %gcov bucles.c 100.00% of 16 source lines executed in file bucles.c Creating bucles.c.gcov
bucles.c.gcov
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
Evaluacin y modelado del rendimiento de los sistemas informticos: Monitorizacin de sistemas y programas
62