¿Que es prefetching y SuperFetch?
1A menudo hemos oído hablar de esta característica de Windows que mejora ostensiblemente el rendimiento del mismo durante su uso diario pero quizá no sepamos muy bien en qué consiste. Hablo del prefetching.
¿CÓMO FUNCIONA REALMENTE ESTA CARACTERÍSTICA?
Durante el uso de un ordenador se produce un traspaso secuencial de partes de código (páginas) del disco duro a la memoria, páginas de 4 KB en la arquitectura x86 que son utilizadas por los programas y por el propio sistema operativo al trabajar. Microsoft se dio cuenta de que, aun utilizando discos duros rápidos y de baja latencia, el rendimiento del sistema se veía penalizado (más aún si los archivos necesarios para una aplicación estaban, por ejemplo, en zonas alejadas en el disco). Para mitigarlo, implementó en XP un sistema de "precarga" que reduce el tiempo que tarda el sistema operativo en cargar los archivos que una aplicación le demanda. Pero… ¿cómo funciona realmente?
Este proceso se aplica principalmente a dos escenarios distintos, que son
-
El arranque de Windows: Tras el tercer arranque sucesivo de Windows, el sistema operativo toma nota de los archivos cargados durante el inicio y su posición en el disco. ¿Y cómo sabe su posición? Pues todo está en la MFT (Master File Table) del sistema de ficheros NTFS. Concretamente la parte metadata (los 15 primeros registros de la MFT, estando del 12 al 15 reservados para usos futuros) contiene todos estos datos: árbol de directorios, posición, clústers inválidos, descriptores de seguridad, etc. Tras ello, Windows crea un fichero denominado "NTOSBOOT-B00DFAAD.pf" que aloja en el directorio X:\Windows\Prefetch (podéis comprobarlo en vuestro Windows).
-
Durante el arranque de servicios y aplicaciones: Concretamente XP monitoriza o bien el primer minuto tras la inicialización de los servicios, o bien los 30 primeros segundos tras la carga de la interfaz gráfica; lo que ocurra primero. Además, monitoriza también los 10 primeros segundos de arranque de cualquier aplicación. El verdadero responsable de todo esto es la aplicación Cache Manager (Administrador de caché) de Windows XP que, una vez ha recabado toda esta información, invoca al Programador de tareas para que registre en la carpeta X:\Windows\Prefetch un archivo .pf de la forma APLICACION.EXE-HASH.pf. En vuestro directorio Prefetch encontraréis bastantes ejemplos de esto.
Ahora bien, ¿cómo se produce el acceso a estos archivos y cómo influye este sistema en el rendimiento global?
Cuando XP arranca o cuando se inicia una aplicación, Cache Manager comprueba si hay posibilidad de prefetching. Para ello revisa el directorio X:\Windows\Prefetch en busca de un fichero de "precarga" de la aplicación que se va a ejecutar (o del fichero con la traza del arranque si hablamos del inicio de XP). Si lo encuentra, hace que Memory Manager (Administrador de memoria) de XP lea de forma asíncrona los datos de la(s) traza(s) necesaria(s) y, cuando ha finalizado, permite que el inicio de la aplicación continúe.
Al realizar esta "precarga" desde un directorio (y además todo a la vez), se reducen ostensiblemente los movimientos de la cabeza del disco duro, lo que repercute positivamente en el rendimiento global del sistema. Asimismo, cada 3 días Windows crea un listado de las aplicaciones más usadas y las guarda en el fichero "Layout.ini" del directorio X:\Windows\Prefetch. Tras esto, durante los tiempos de inactividad en el sistema, XP realiza una defragmentación en segundo plano de únicamente los archivos listados en dicho fichero. Así, cuando el sistema tenga que “precargar” datos de nuevo lo hará mucho más rápido ya que los ficheros están físicamente contiguos en el disco. La ganancia en rendimiento es considerable.
¿DEBO BORRAR EL CONTENIDO DEL DIRECTORIO PREFETCH?
No, debe ser el propio Windows el que maneje dicha carpeta. Pese a que haya bastantes ficheros el rendimiento no se verá afectado, al contrario, si borramos su contenido veremos cómo las aplicaciones tardan más en iniciarse (hasta que se regenera el contenido de la carpeta de nuevo).
Si queremos desactivar dicha función en Windows (*desaconsejado*), simplemente creamos un valor DWORD denominado EnablePrefetcher con valor 0 en la rama HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters del Registro de Windows.
El valor EnablePrefetcher admite los siguientes valores:
0 = Deshabilitado.
1 = Habilitado Prefetching en carga de aplicaciones.
2 = Habilitado Prefetching en el arranque del sistema
3 = Habilitado Prefetching para aplicaciones y durante la carga del sistema (valor recomendado)
Prefecthing en Windows 7. SuperFetch
A partir de Windows Vista esta característica se ve mejorada mediante SuperFetch. SuperFetch, extiende las capacidades de Prefecthing, incrementado el rendimiento de las aplicaciones que se utilizan más frecuentemente, para ello hace una cache de los archivos a los que más frecuentemente accede esa aplicación. Además en Windows 7, SuperFech se habilita o deshabilita según el rendimiento del disco duro: En unidades de disco duro que tengan una baja puntuación en el test de rendimiento efectuado por el sistema operativo y que obtengan un bajo rendimiento se habilitará superfech por defecto y se deshabilita automáticamente para todas aquellas unidades de almacenamiento que obtenga una puntuación alta en dicho test. Es decir, que en Windows 7 no es recomendable modificar el comportamiento por defecto de esta tecnología. Para deshabilitar SuperFetch simplemente tendremos que deshabilitar el servicio relacionado.
Daniel Martín, 2004
Revisión: 12 (25 de Julio de 2012) by webmaster



Comentarios
El programa C.Cleaner borro un archibo de la carpeta prefetch, q devo hacer?? si me pueden agregar y ayudar se los agradeceria, por favor, la pc arranca muy lento y no es xq sea una pc vieja tiene un micro athon x2 5200+, 2gb ram y una placa buena...
Mi recomendación es la siguiente:
Habiliten el prefetch de Windows sólo para los archivos de inicio, nó para los programas.
Para ello en la clave del registro:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters
establezcan su valor en 2 (misma base Hexadecimal)
después pueden entrar en la carpeta:
C:Windowsprefetch
y borrar todo su contenido, acto seguido reinicien el sistema dos veces, la primera para que se guarde en caché los archivos de inicio, en la segunda notarán que Windows se inicia a una velocidad considerablemen te mayor.
ya descargue el programa pero no se ni q px con esto como le hago ????????
Citación:
como curiosidad viendo que expricas mejor esa utilidad de servicio que tiene windows en en registro de windows que te refieres ahà veo que el valor dafault es 3 entendiendo que es para una configuracion basica de todos los sistemas de pc que pueda ver pero si modifica el valor por un 4 o 5 cree que haya alguna mejora; que se asigne mas espacio en el mtf o dedique mas tiempo a monitorias los procesos de arranque, eso con la ventaja de que el sistema que quiero modificar tiene carateristicas que exeden lo convencional Ej.hdd ultra/dma 133< , prosesadores + 2ghz, + 1gb ram etc
de antemano agradeseria su respusta , opinion de los demas que tengan alguna experiencia o conosimiento en esto. gracias
formate el disco y hice bootear desde un cd de win xp, una vez que carga todos los archivos de arranque y reinicia el equipo, me sale un error " falta el sistema operativo"... lo probe al mismo disco rigido en otra pc y con el mismo cd de winxp y instala todo sin problemas... es problema de la placa madre? pero cuando quise poner el disco en la pc con el sistema ya instaldo, me sale un error "missing operating system". lo pongo en la otra pc y inicia windows normalmente...
que alquien me ayude porfa
probe con el fixboot, fixmbr, le saque la pila a la placa para resetear el setup y no tuve solucion...
Ctrl + Alt Flecha arriba o flecha a bajo cambia solo en HP y Compaq, por propiedades de pantalla de video Opciones avanzadas y depednde de tu tarjeta de video la otra ALTGR+CTRL+ALT+ F12 desactiva la rotacion.
SALUDOS
Suscripción de noticias RSS para comentarios de esta entrada.