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 MHz | 942 | % Idle Pri Threads | |
% CPU | 13,55% | % Idle | 86,45% |
CPUs Number | 2 | Queue for CPU | 0 |
Processes | 85 | Threads | 928 |
Thread Sw/s | 2.063 | HW Ints/s | 2.145 |
Total Ph KB | 3.006.396 | Free Ph KB | 1.834.952 |
| | Stand By KB | 1.852.980 |
File Cache KB | 241.228 | File cache peak KB | 302.748 |
Free Virt KB | 5.009.524 | Committed KB | 1.213.228 |
Paged Pool KB | 119.744 | NonPaged Pool KB | 107.844 |
Max Swap KB | 3.313.596 | Swap in Use KB | 100.148 |
Page Faults/s | 258 | | |
Page Ins KB/s | 0 | Page Outs KB/s | 0 |
File Read KB/s | 2 | File Write KB/s | 0 |
File Reads/s | 50 | File Writes/s | 0 |
Client Read KB/s | 0 | Client Write KB/s | 0 |
Srv Transmit KB/s | 0 | Srv Receive KB/s | 0 |
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 CPU | 13,55% |
Uso de Caché | 241.228 |
Lectura en Disco | 2KB/s |
Escritura en Disco | 0KB/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 MHz | 2.002 | % Idle Pri Threads | |
% CPU | 50,95% | % Idle | 49,05% |
CPUs Number | 2 | Queue for CPU | 1 |
Processes | 85 | Threads | 887 |
Thread Sw/s | 2.561 | HW Ints/s | 2.284 |
Total Ph KB | 3.006.396 | Free Ph KB | 1.822.792 |
| | Stand By KB | 1.871.712 |
File Cache KB | 245.580 | File cache peak KB | 302.748 |
Free Virt KB | 5.002.008 | Committed KB | 1.220.744 |
Paged Pool KB | 119.960 | NonPaged Pool KB | 107.796 |
Max Swap KB | 3.313.596 | Swap in Use KB | 100.088 |
Page Faults/s | 2.127 | | |
Page Ins KB/s | 1.498 | Page Outs KB/s | 0 |
File Read KB/s | 167 | File Write KB/s | 0 |
File Reads/s | 110 | File Writes/s | 0 |
Client Read KB/s | 0 | Client Write KB/s | 0 |
Srv Transmit KB/s | 0 | Srv Receive KB/s | 0 |
El archivo con los resultados que ha generado TaskInfo lo podemos encontrar aqui
Los resultados que a nosotros nos interesan han quedado asi:
Etiquetas | Estado Base | Estado Con Carga |
% Uso CPU | 13.5% | 50,95% |
Uso de Caché | 241.228KB | 245.580KB |
Lectura en Disco | 2KB/s | 167KB/s |
Escritura en Disco | 0KB/s | 0KB/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 MHz | 2.261 | % Idle Pri Threads | |
% CPU | 93,81% | % Idle | 6,19% |
CPUs Number | 2 | Queue for CPU | 5 |
Processes | 91 | Threads | 943 |
Thread Sw/s | 2.961 | HW Ints/s | 2.330 |
Total Ph KB | 3.006.396 | Free Ph KB | 1.675.320 |
| | Stand By KB | 1.723.292 |
File Cache KB | 279.460 | File cache peak KB | 302.748 |
Free Virt KB | 4.868.928 | Committed KB | 1.353.824 |
Paged Pool KB | 121.084 | NonPaged Pool KB | 108.168 |
Max Swap KB | 3.313.596 | Swap in Use KB | 100.920 |
Page Faults/s | 462 | | |
Page Ins KB/s | 1.315 | Page Outs KB/s | 306 |
File Read KB/s | 309 | File Write KB/s | 219 |
File Reads/s | 326 | File Writes/s | 83 |
Client Read KB/s | 0 | Client Write KB/s | 0 |
Srv Transmit KB/s | 0 | Srv Receive KB/s | 0 |
El archivo con los resultados del programa lo podemos encontrar aqui
Como siempre, construimos nuestra tabla
Etiquetas | Estado Base | Estado Con Carga |
% Uso CPU | 13.5% | 93,81% |
Uso de Caché | 241.228KB | 279.460KB |
Lectura en Disco | 2KB/s | 309KB/s |
Escritura en Disco | 0KB/s | 0KB/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 MHz | 2.253 | % Idle Pri Threads | |
% CPU | 100,00% | % Idle | |
CPUs Number | 2 | Queue for CPU | 10 |
Processes | 93 | Threads | 959 |
Thread Sw/s | 2.319 | HW Ints/s | 2.182 |
Total Ph KB | 3.006.396 | Free Ph KB | 1.589.056 |
| | Stand By KB | 1.638.504 |
File Cache KB | 285.184 | File cache peak KB | 302.748 |
Free Virt KB | 4.754.756 | Committed KB | 1.467.996 |
Paged Pool KB | 119.872 | NonPaged Pool KB | 108.120 |
Max Swap KB | 3.313.596 | Swap in Use KB | 101.864 |
Page Faults/s | 517 | | |
Page Ins KB/s | 0 | Page Outs KB/s | 0 |
File Read KB/s | 21 | File Write KB/s | 0 |
File Reads/s | 111 | File Writes/s | 0 |
Client Read KB/s | 0 | Client Write KB/s | 0 |
Srv Transmit KB/s | 0 | Srv Receive KB/s | 0 |
El archivo que da TaskInfo lo podemos ver aqui
Como siempre, construimos nuestra tabla
Etiquetas | Estado Base | Estado Con Carga |
% Uso CPU | 13.5% | 100,00% |
Uso de Caché | 241.228KB | 285.184KB |
Lectura en Disco | 2KB/s | 21KB/s |
Escritura en Disco | 0KB/s | 0KB/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 MHz | 2.262 | % Idle Pri Threads | |
% CPU | 92,26% | % Idle | 7,74% |
CPUs Number | 2 | Queue for CPU | 4 |
Processes | 86 | Threads | 904 |
Thread Sw/s | 9.790 | HW Ints/s | 2.546 |
Total Ph KB | 3.006.396 | Free Ph KB | 1.553.412 |
| | Stand By KB | 1.680.008 |
File Cache KB | 295.196 | File cache peak KB | 302.748 |
Free Virt KB | 4.816.860 | Committed KB | 1.405.892 |
Paged Pool KB | 128.920 | NonPaged Pool KB | 113.800 |
Max Swap KB | 3.313.596 | Swap in Use KB | 107.596 |
Page Faults/s | 10.707 | | |
Page Ins KB/s | 11.797 | Page Outs KB/s | 8.143 |
File Read KB/s | 12.324 | File Write KB/s | 12.144 |
File Reads/s | 193 | File Writes/s | 219 |
Client Read KB/s | 0 | Client Write KB/s | 0 |
Srv Transmit KB/s | 0 | Srv Receive KB/s | 0 |
El archivo que da TaskInfo lo podemos ver aqui
Como siempre, construimos nuestra tabla
Etiquetas | Estado Base | Estado Con Carga |
% Uso CPU | 13.5% | 92,26% |
Uso de Caché | 241.228KB | 295.196KB |
Lectura en Disco | 2KB/s | 12.324KB/s |
Escritura en Disco | 0KB/s | 12.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 MHz | 2.259 | % Idle Pri Threads | 1,95% |
% CPU | 98,05% | % Idle | 1,95% |
CPUs Number | 2 | Queue for CPU | 14 |
Processes | 96 | Threads | 1.011 |
Thread Sw/s | 7.156 | HW Ints/s | 2.244 |
Total Ph KB | 3.006.396 | Free Ph KB | 1.360.056 |
| | Stand By KB | 1.390.844 |
File Cache KB | 331.216 | File cache peak KB | 332.692 |
Free Virt KB | 4.555.556 | Committed KB | 1.667.196 |
Paged Pool KB | 126.448 | NonPaged Pool KB | 113.940 |
Max Swap KB | 3.313.596 | Swap in Use KB | 108.188 |
Page Faults/s | 5.263 | | |
Page Ins KB/s | 995 | Page Outs KB/s | 86 |
File Read KB/s | 669 | File Write KB/s | 0 |
File Reads/s | 117 | File Writes/s | 11 |
Client Read KB/s | 0 | Client Write KB/s | 0 |
Srv Transmit KB/s | 0 | Srv Receive KB/s | 0 |
El archivo que da TaskInfo lo podemos ver aqui
Como siempre, construimos nuestra tabla
Etiquetas | Estado Base | Estado Con Carga |
% Uso CPU | 13.5% | 98,05% |
Uso de Caché | 241.228KB | 331.216KB |
Lectura en Disco | 2KB/s | 669KB/s |
Escritura en Disco | 0KB/s | 0KB/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