miércoles, 17 de junio de 2009

Práctica 4: Diseño y Evaluación de Configuraciones :: Monitores

Monitor TaskInfo


Eleccion:

En la práctica 2 usé El administrador de tareas de Windows pero este no guarda en archivos de texto por lo que tuve que salir a la busqueda de otros monitores, di con Systemometers que gráficamente está muy bien pero tampoco admite la opción de guardar en texto de forma que tuve que optar definitivamente por un monitor que me descargué en la práctica 2 pero que no llegué a usar: TaskInfo. Este monitor permite el guardado en varios formatos entre los que se incluye html por lo que para presentarlo más tarde en html este tipo de guardado viene Genial


Introducción y elección de magnitudes:

Para realizar las mediciones he utilizado Windows Vista por lo que es muy lógico que los valores de la CPU esté muy por encima de la media, además, este sistema operativo tiende al lanzamiento de miles de aplicaciones al principio de iniciar la sesión por lo que una medición en plena apertura de la sesión puede tener mucha más carga que cualquier actividad que le demos más tarde, por lo que para hacer la medición base he optado por tomarla un poco despues de que el sistema se "calme" y todos los valores se reduzcan.


Antes de indicar las magnitudes que voy a utilizar, aclaro que en el guión especifica que como mucho se pueden elegir 5, asi que por no ser muy redundante escojo 4 medidas para analizar, para CPU escojo el % de uso de CPU, para la memoria uso el % de uso de memoria caché y para Disco uso Kb leyendose en ese momento y Kb escribiendose en ese momento, uso dos mágnitudes para el Disco porque voy a hacer diferentes cargas con el y si junto la lectura y la escritura no podríamos notar la diferencia


Medición Base

Como he dicho anteriormente voy a medir el sistema tras haber pasado un rato de comenzar el inicio, aunque no iniciaré ninguna otra aplicación tan solo esperaré a que todas las iniciales se hayan abierto, una vez se han abierto las cierro todas y espero a que el sistema se estabilice, En este momento el sistema tendrá los valores más bajos de toda esa ejecución del SO


Tras hacer todo lo anterior guardamos con TaskInfo que nos dá la siguiente tabla






















CPU Clock MHz942% Idle Pri Threads
% CPU13,55%% Idle86,45%
CPUs Number2Queue for CPU0
Processes85Threads928
Thread Sw/s2.063HW Ints/s2.145
Total Ph KB3.006.396Free Ph KB1.834.952
Stand By KB1.852.980
File Cache KB241.228File cache peak KB302.748
Free Virt KB5.009.524Committed KB1.213.228
Paged Pool KB119.744NonPaged Pool KB107.844
Max Swap KB3.313.596Swap in Use KB100.148
Page Faults/s258
Page Ins KB/s0Page Outs KB/s0
File Read KB/s2File Write KB/s0
File Reads/s50File Writes/s0
Client Read KB/s0Client Write KB/s0
Srv Transmit KB/s0Srv Receive KB/s0

Podemos ver exactamente el archivo que nos devuelve en este archivo


La tabla anterior es la que nos da Task Info, ahora extraemos las medidas que hemos seleccionado y las mostramos en una gráfica:







% Uso CPU13,55%
Uso de Caché241.228
Lectura en Disco2KB/s
Escritura en Disco0KB/s

Grafico

Debido a que las gráficas de Kiviat necesitan variables que alternen entre mayor_mejor y menor_mejor y las variables que mido en esta práctica no cumplen esas reglas la gráfica de Kiviat no respetará esta norma, no obstante voy a representarla en una gráfica radial para poder observar mejor cada componente



Carga 1:Lectura de Ficheros

Objetivos

Muchas veces la unica carga que soporta nuestro sistema es la de un antivirus ejecutandose como unico programa. Esto sucede en los Scan programados que deja nuestro antivirus para cuando el sistema está inactivo o si lo dejamos por la noche haciendo el Scan para poder detectar algún virus. La acción del Scan del antivirus es recorrer todos los archivos de nuestro disco duro comparando con ciertos patrones de la base de datos del antivirus y haciendo varias comprobaciones sobre el archivo leido, por lo tanto, como objetivo nos fijamos en que aumentaremos en gran medida la Lectura de Disco, la Cpu y caché se verán afectadas en una medida leve y la escritura se quedará en 0



Resultados


















CPU Clock MHz2.002% Idle Pri Threads
% CPU50,95%% Idle49,05%
CPUs Number2Queue for CPU1
Processes85Threads887
Thread Sw/s2.561HW Ints/s2.284
Total Ph KB3.006.396Free Ph KB1.822.792
Stand By KB1.871.712
File Cache KB245.580File cache peak KB302.748
Free Virt KB5.002.008Committed KB1.220.744
Paged Pool KB119.960NonPaged Pool KB107.796
Max Swap KB3.313.596Swap in Use KB100.088
Page Faults/s2.127
Page Ins KB/s1.498Page Outs KB/s0
File Read KB/s167File Write KB/s0
File Reads/s110File Writes/s0
Client Read KB/s0Client Write KB/s0
Srv Transmit KB/s0Srv Receive KB/s0

El archivo con los resultados que ha generado TaskInfo lo podemos encontrar aqui


Los resultados que a nosotros nos interesan han quedado asi:









EtiquetasEstado BaseEstado Con Carga
% Uso CPU13.5%50,95%
Uso de Caché241.228KB245.580KB
Lectura en Disco2KB/s167KB/s
Escritura en Disco0KB/s0KB/s

Gráfico

Para poder ver una comparativa mucho más fiel y aclaradora voy a hacer 3 Gráficas, una para CPU, otra para Memoria y otra para Disco:





Análisis

Los resultados obtenidos cumplen los objetivos, como vemos la lectura no es intensa, es decir, utiliza una velocidad reducida pero esto se debe a que el antivirus debe hacer una comparativa y calculos sobre cada bloque de memoria y por tanto la velocidad que mantiene en la lectura se ve condicionada por ese fator, es por eso por lo que la CPU aumenta hasta el 50%, en cambio la caché no aumenta tanto porque utiliza un rango de bloques pequeño, el Scan de un antivirus utiliza sobre todo Disco y CPU para calculos y comparaticas con la BD del programa



Carga 2:Apertura de un Programa

Objetivos

Abrimos un programa grande para cargarlo en memoria principal, este comportamiento es el habitual de cualquier tipo de usuario, sobre todo de los sistemas de oficina donde uno de los programas que se abren son el Office. Nosotros vamos a usar NetBeans (es la versión con todos los extras), nuestro objetivo es aumentar en cierta medida la CPU (Esto es inevitable pues es quien ejecuta el programa), aumentar el uso de caché y aumentar la lectura de Disco (Pues el programa se encuentra grabado en disco y habrá que leerlo), la escritura permanecerá igual


Resultados de TaskInfo


















CPU Clock MHz2.261% Idle Pri Threads
% CPU93,81%% Idle6,19%
CPUs Number2Queue for CPU5
Processes91Threads943
Thread Sw/s2.961HW Ints/s2.330
Total Ph KB3.006.396Free Ph KB1.675.320
Stand By KB1.723.292
File Cache KB279.460File cache peak KB302.748
Free Virt KB4.868.928Committed KB1.353.824
Paged Pool KB121.084NonPaged Pool KB108.168
Max Swap KB3.313.596Swap in Use KB100.920
Page Faults/s462
Page Ins KB/s1.315Page Outs KB/s306
File Read KB/s309File Write KB/s219
File Reads/s326File Writes/s83
Client Read KB/s0Client Write KB/s0
Srv Transmit KB/s0Srv Receive KB/s0

El archivo con los resultados del programa lo podemos encontrar aqui


Como siempre, construimos nuestra tabla









EtiquetasEstado BaseEstado Con Carga
% Uso CPU13.5%93,81%
Uso de Caché241.228KB279.460KB
Lectura en Disco2KB/s309KB/s
Escritura en Disco0KB/s0KB/s

Gráficos

Al igual que con la carga anterior, realizamos varios gráficos:





Análisis

Como vemos la lectura de disco es mucho más grande que con un Scan de un Antivirus, esto es lógico si pensamos que el antivirus está diseñado para trabajar en background intentando "hacer el mínimo ruido posible", es decir, intentando influir lo mínimo posible en el quehacer el usuario. En cambio aquí, se lee de forma mucho más rápida para poder abrir lo más pronto posible el programa porque el usuario lo necesita usar, por otro lado al ejecutarse el programa se necesitan hacer millones de cálculos y por lo tanto la CPU trabajará de forma superintensiva y por último es obvio que se usará bastante caché más pues el programa iniciado es un nuevo proceso y por lo tanto tiene su contexto que se necesita guardar en caché para poder usarse en tiempo de ejecución, al ser bastante grande el programa su caché va a ser proporcional y por eso consume lo que vemos en el gráfico. Por lo tanto el comportamiento es normal salvo por el grandisimo aumento de la cpu que está proxima al 100% y que induce a pensar que algo independiente de la carga en el sistema, está intercediendo



Carga 3: Ejecución de calculo intensivo

Objetivos

En nuestra carrera muchas veces hemos tenido que dejar nuestro ordenador calculando de forma intensiva alguna práctica en la que tarde más de 1 minuto, en esos casos lo más seguro esque no influya el Disco y tan solo la caché y la CPU, para someter al sistema a esta carga lo he expuesto a un programa con una función recursiva en el que en cada llamada hace raices cuadradas, elevaciones, sumas, divisiones, multiplicaciones y además en su recursividad su arbol se exitiende exponencialmente hasta alcanzar una altura de 20 ampliando cada nodo en cada nivel a 4 descendientes asi que tendría 4^20 nodos y además de todo esto, ejecuto el mismo programa 3 veces. Teoricamente debe ascender la CPU hasta un nivel insospechado y la caché (al ser recursiva debe ir creando nuevas variables por cada llamada)


Resultado de TaskInfo


















CPU Clock MHz2.253% Idle Pri Threads
% CPU100,00%% Idle
CPUs Number2Queue for CPU10
Processes93Threads959
Thread Sw/s2.319HW Ints/s2.182
Total Ph KB3.006.396Free Ph KB1.589.056
Stand By KB1.638.504
File Cache KB285.184File cache peak KB302.748
Free Virt KB4.754.756Committed KB1.467.996
Paged Pool KB119.872NonPaged Pool KB108.120
Max Swap KB3.313.596Swap in Use KB101.864
Page Faults/s517
Page Ins KB/s0Page Outs KB/s0
File Read KB/s21File Write KB/s0
File Reads/s111File Writes/s0
Client Read KB/s0Client Write KB/s0
Srv Transmit KB/s0Srv Receive KB/s0

El archivo que da TaskInfo lo podemos ver aqui

Como siempre, construimos nuestra tabla









EtiquetasEstado BaseEstado Con Carga
% Uso CPU13.5%100,00%
Uso de Caché241.228KB285.184KB
Lectura en Disco2KB/s21KB/s
Escritura en Disco0KB/s0KB/s

Gráficos

Al igual que con la carga anterior, realizamos varios gráficos:





Análisis

Vamos a analizar caso por caso, en caso de la CPU el cálculo intensivo le ha hecho entrar en sobrecarga y llegar al máximo de sus posibilidades relentizando el sistema entero en gran medida, este sistema no estaba preparado para este tipo de acciones o usos, a pesar de que el programa es bastante pesado el sistema donde ha sido ejecutado es bastante moderno y en teoria resiste estos cálculos (es más ha sido probado en XP y funciona mucho mejor) por lo tanto sospecho de la existencia de algo ejecutandose que no he contemplado (lo abordaré al final de la práctica). La caché, ha aumentado bastante (eso es muy lógico por los datos dados en objetivos) no obstante si lo comparamos con la carga de NetBeans es parecida, esto se debe a que NetBeans utiliza muchos recursos para el funcionamiento de todos módulos, y este programa los usa simplemente por ineficiencia. En cuanto a la lectura en Disco, como vemos es escasa comparado con las cargas anteriores porque el programa es muy pequeño y apenas ocupa espacio en disco



Prueba 4:Copiando Archivos

Objetivos

En la era en que corre todo sistema se ve sometido en algún momento a un uso de disco intensivo (Copiar peliculas, fotos, videos, canciones...) para ello he confeccionado esta carga, en ella copio varias peliculas de una carpeta a otra, para que sea un archivo grande he copiado tres peliculas que suman un total de 7 Gb, y además para asegurarme de que haya distancia en entre el lugar físico de ambas ubicaciones pego en otra partición, de esta forma se debería aumentar de forma muy considerable la lectura y escritura en disco, aunque ambas deberían ser aproximadas pues lo que se lee se escribe, por otro lado la cpu no debe de aumentar demasiado, y la caché seguramente si aumente por que tenemos que cargar en ella lo que vamos leyendo


Salida de TaskInfo


















CPU Clock MHz2.262% Idle Pri Threads
% CPU92,26%% Idle7,74%
CPUs Number2Queue for CPU4
Processes86Threads904
Thread Sw/s9.790HW Ints/s2.546
Total Ph KB3.006.396Free Ph KB1.553.412
Stand By KB1.680.008
File Cache KB295.196File cache peak KB302.748
Free Virt KB4.816.860Committed KB1.405.892
Paged Pool KB128.920NonPaged Pool KB113.800
Max Swap KB3.313.596Swap in Use KB107.596
Page Faults/s10.707
Page Ins KB/s11.797Page Outs KB/s8.143
File Read KB/s12.324File Write KB/s12.144
File Reads/s193File Writes/s219
Client Read KB/s0Client Write KB/s0
Srv Transmit KB/s0Srv Receive KB/s0

El archivo que da TaskInfo lo podemos ver aqui

Como siempre, construimos nuestra tabla









EtiquetasEstado BaseEstado Con Carga
% Uso CPU13.5%92,26%
Uso de Caché241.228KB295.196KB
Lectura en Disco2KB/s12.324KB/s
Escritura en Disco0KB/s12.144KB/s

Gráficos

Al igual que con la carga anterior, realizamos varios gráficos:





Análisis

Cabe destacar en el análisis que a la hora de pronosticar el funcionamiento de la CPU este ha variado ligeramente y esque me esperaba que no aumentase tanto como lo ha hecho, aparte de los ya mencionados problemas de Vista con el consumo de cpu, he obviado el hecho de que la CPU puede estar calculando de forma intensiva direcciones de memoria, si el disco no esta defragmentado es muy posible que se produzca, y además está el hecho de que están en dos particiones diferentes por lo que se añaden más motivos al calculo de direcciones intensivo. Por lo demás es todo obvio y se ha cumplido de los objetivos, por lo que no requiere más explicación



Prueba 5:Multitud de Procesos ejecutandose Simultaneamente

Objetivos

El objetivo principal de esta carga es el aumento de la caché, por lo tanto, abrimos muchos procesos a la vez de forma que el cambio de contexto sea muy grande y además en caché necesitamos guardar por cada proceso un determinado espacio. Si ejecutamos todos los procesos(imagen inferior) deberiamos obtener una caché alta, cpu alta, pues está ejecutando procesos sin descanso uno tras otro, una lectura moderada alta, pues debe leer los archivos de todos los procesos que se están ejecutando y una escritura baja-nula, a no ser que algún proceso necesite escribir por alguna razón



Salida de TaskInfo



















CPU Clock MHz2.259% Idle Pri Threads1,95%
% CPU98,05%% Idle1,95%
CPUs Number2Queue for CPU14
Processes96Threads1.011
Thread Sw/s7.156HW Ints/s2.244
Total Ph KB3.006.396Free Ph KB1.360.056
Stand By KB1.390.844
File Cache KB331.216File cache peak KB332.692
Free Virt KB4.555.556Committed KB1.667.196
Paged Pool KB126.448NonPaged Pool KB113.940
Max Swap KB3.313.596Swap in Use KB108.188
Page Faults/s5.263
Page Ins KB/s995Page Outs KB/s86
File Read KB/s669File Write KB/s0
File Reads/s117File Writes/s11
Client Read KB/s0Client Write KB/s0
Srv Transmit KB/s0Srv Receive KB/s0

El archivo que da TaskInfo lo podemos ver aqui

Como siempre, construimos nuestra tabla









EtiquetasEstado BaseEstado Con Carga
% Uso CPU13.5%98,05%
Uso de Caché241.228KB331.216KB
Lectura en Disco2KB/s669KB/s
Escritura en Disco0KB/s0KB/s

Gráficos

Al igual que con la carga anterior, realizamos varios gráficos:





Análisis

Efectivamente como vemos en las gráficas se cumple lo dicho en los objetivos, la caché ha aumentado increiblemente, la CPU está muy cargada, la lectura de disco es alta y la escritura nula. Como se han cumplido las espectativas el análisis está implicito en los objetivos.


Problemas Surgidos en las Cargas

Dentro de cada análisis hemos podido observar que la CPU esta siempre bastante alta, incluso en un estado de reposo es del 13%, al hacer una exploración del sistema hemos visto que se trata del SO Windows Vista y por lo tanto es obvio que la CPU se mantenga alta hasta en reposo pero si observamos los análisis podemos deducir que hay tasas bastante altas de CPU incluso siendo Vista, lo que nos puede llevar a pensar que puede haber algún virus, spyware, malware... en el sistema y por lo tanto tendríamos que tratarlo


Pequeña Aclaración

Las escalas varían de una carga a otra por lo que no podemos hacer la compración de gráficas entre cargas a simple vista, hay que fijarse en la escala

No hay comentarios:

Publicar un comentario