Imprimir

¿Que es prefetching y SuperFetch?

Escrito por Daniel Martín on 11 Junio 2005.

1
Compartir

A 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

Compartir

Comentarios   

 
0 #13 Guest 05-10-2009 03:49
Hola, tengo un problema, el tema es el siguiente:
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...
Citar
 
 
0 #12 Guest 04-02-2009 22:49
Tengo un programita para un juego, y los archivos del mismo están en una carpeta prefetch; quiero borrar de ahi los archivos de sonido, pero no tengo idea cuales son... ayudenme, please
Citar
 
 
+1 #11 Guest 04-01-2009 17:46
La utilidad de precarga sinceramente lo que hace es enlentecer la carga del sistema operativo, añadiéndole hasta un minuto más de espera, la única ganancia que tendríamos sería un tiempo "menor" en el acceso a los programas, sería algo aproximado a 5 segundos, yo en lo particular perfiero esperar 5 segundos a que se inicie una aplicación a esperar 1 minuto o más a que se inicie el sistema.

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.

;-)
Citar
 
 
0 #10 Guest 08-09-2008 09:09
Hola quisiera saber como puedo hacer mas rapida mi pc, tiene el windows xp y tengo una memoria usb de 2 gb por lo cual segun se con un eBoostr puedo poner en funcionamiento como memoria ram.
ya descargue el programa pero no se ni q px con esto como le hago ????????
:o :o :o
Citar
 
 
0 #9 Guest 18-08-2008 19:10
En alguna página que no recuenrdo ahora para mencionarla, leí que esos archivos prefetch, se debian borrar por lo menos cada mes debido a que ellos hacían lento el computador.
Citar
 
 
0 #8 Guest 24-03-2008 12:28
me pregunto si tienes alguna particione en el disco... sila tubieras deberas borrarla..
Citación:
Me paso la vida borrando en regedit el archivito .pf , me sale siempre una , otra y otra vez . Me tiene frito y aburrido ¡¡ HELP !! , ¿ como lo borro definitivamente . ¿ puedo borrar , jue que nombre , se parece al de mi suegra, el archivo NTOSBOOT-B00DFAAD.pf ? ? . arriba dice que es para inicio de programas de uso para que cargue más rápido el XP . ¿ me podeis ayudar ? , o la cagar.. entera . Saludos cordiales .
Citar
 
 
0 #7 Guest 02-03-2008 12:40
que tal:
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
Citar
 
 
0 #6 Guest 16-02-2008 15:16
Me paso la vida borrando en regedit el archivito .pf , me sale siempre una , otra y otra vez . Me tiene frito y aburrido ¡¡ HELP !! :sigh:: , ¿ como lo borro definitivamente . ¿ puedo borrar , jue que nombre , se parece al de mi suegra, el archivo NTOSBOOT-B00DFA AD.pf ? :roll:: ? . arriba dice que es para inicio de programas de uso para que cargue más rápido el XP . ¿ me podeis ayudar ? , o la cagar.. entera :roll:: . Saludos cordiales .
Citar
 
 
-1 #5 Guest 17-04-2007 12:05
HOLA, tengo un prblema y queira saber si me podian ayudar, el tema es asi.
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...
Citar
 
 
-1 #4 Guest 08-03-2007 13:02
Cito a Guest:
que tal a los usuarios, miren tengo un problema con el inicio de windows en donde se seleccionan los usuarios, y es que me aparece de cabeza y en el modo seguro entra normal, me podria alguien ayudar a decifrar el por que de esto mi mail heavylex@yahoo.com.mx


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
Citar
 

Escribir un comentario


Código de seguridad
Refescar

jTweet

Autentíficate

Gente Online

Hay 302 invitados y ningún miembro en línea