En este artículo te explicamos qué es la carpeta Prefetch y el servicio Superfetch (ahora conocido como SysMain) en Windows. Ambos son componentes diseñados para mejorar el rendimiento del sistema, relacionados con la forma en que Windows gestiona las aplicaciones y los datos para optimizar los tiempos de carga y la respuesta del sistema.
Carpeta Prefetch
La carpeta Prefetch es una característica presente desde Windows XP. Su función es almacenar información sobre las aplicaciones que se ejecutan con frecuencia, así como sobre los archivos necesarios durante el arranque del sistema.
Cuando abres una aplicación, Windows crea un archivo con la extensión .pf en la carpeta Prefetch. Este archivo contiene datos binarios sobre cómo se carga la aplicación, lo que permite que Windows la abra más rápidamente la próxima vez que la uses.
La idea es reducir el tiempo de carga al tener ya preparada una parte de la información necesaria para iniciar la aplicación.
Para encontrar los archivos de Prefetch, navega hasta C:\Windows\Prefetch. También puedes acceder presionando Windows + R, escribiendo shell:prefetch y pulsando Enter. Los archivos .pf tienen un formato binario propietario de Windows, no se trata de archivos de texto ni están encriptados: simplemente usan un formato interno que solo el sistema operativo sabe interpretar.
Eliminar los archivos de Prefetch es seguro y no daña el sistema. Windows los volverá a crear la próxima vez que abras aplicaciones. Sin embargo, como estos archivos ayudan a reducir el tiempo de inicio del sistema y de las aplicaciones, eliminarlos hará que todo tarde un poco más en cargarse hasta que los archivos se regeneren. No es una operación que recomendemos realizar.
El comportamiento de Prefetch se controla mediante un valor en el Registro de Windows:
EnablePrefetcher en ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters)
- 0: Desactivado
- 1: Solo aplicaciones
- 2: Solo arranque del sistema
- 3: Aplicaciones y arranque (valor predeterminado)
Servicio Superfetch (SysMain)
Superfetch se introdujo en Windows Vista y está presente en versiones posteriores. En Windows 10, Microsoft renombró el servicio como SysMain, aunque funciona bajo el mismo principio.
Superfetch va un paso más allá de Prefetch al analizar los patrones de uso de tu equipo y cargar anticipadamente algunas aplicaciones en la memoria RAM. Si hay aplicaciones que usas con frecuencia, Superfetch intenta precargarlas en la memoria para que se inicien más rápido.
Superfetch está diseñado para utilizar solo la memoria RAM que no está en uso activo, por lo que en teoría no debería ralentizar el sistema.
Rendimiento según el tipo de disco
El impacto de Prefetch y Superfetch varía según el hardware:
- En sistemas con discos duros mecánicos (HDD), estas funciones pueden mejorar significativamente el rendimiento, ya que reducen la cantidad de lecturas aleatorias necesarias.
- En sistemas con unidades de estado sólido (SSD) y especialmente NVMe, el beneficio es mucho menos notable porque el propio disco ya ofrece tiempos de acceso muy bajos.
Existe un mito extendido de que Prefetch y Superfetch deben desactivarse en SSD para evitar escrituras innecesarias y prolongar la vida del disco. Esto era una preocupación razonable en los primeros años de los SSD, pero con la tecnología actual las escrituras generadas por estos servicios son insignificantes frente a la vida útil de un SSD moderno. Desactivarlos por este motivo no tiene justificación práctica hoy en día.
Además, desde Windows 10 versión 1803 (actualización de abril de 2018), Microsoft desactiva SysMain automáticamente en sistemas con SSD, por lo que en muchos equipos con disco sólido el servicio ya no está funcionando sin necesidad de intervención del usuario.
Cuándo tiene sentido desactivarlos
Aunque estos servicios están diseñados para mejorar el rendimiento, en situaciones muy concretas pueden causar problemas:
- Equipos con muy poca memoria RAM (4 GB o menos) donde Superfetch compite con las aplicaciones por la memoria disponible.
- Sistemas donde SysMain causa un uso elevado y constante del disco, un problema reportado ocasionalmente en ciertas configuraciones de Windows 10.
Fuera de estos casos específicos, lo recomendable es dejar ambas funciones con su configuración predeterminada.
Desactivar Prefetch
- Presiona Windows + R para abrir el cuadro de diálogo Ejecutar.
- Escribe
regedity presiona Enter para abrir el Editor del Registro. - Navega hasta la siguiente clave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters. - En el panel derecho, busca el valor
EnablePrefetcher. - Haz clic derecho en
EnablePrefetchery selecciona Modificar. - Cambia los datos del valor a
0para desactivar Prefetch. - Haz clic en Aceptar y cierra el Editor del Registro.
Desactivar SysMain (antes Superfetch)
- Presiona Windows + R para abrir el cuadro de diálogo Ejecutar.
- Escribe
services.mscy presiona Enter para abrir el Administrador de Servicios. - Desplázate por la lista y encuentra SysMain (anteriormente conocido como Superfetch).
- Haz clic derecho en SysMain y selecciona Propiedades.
- En la pestaña General, haz clic en Detener.
- En tipo de inicio, selecciona Deshabilitado del menú desplegable.
- Haz clic en Aplicar y luego en Aceptar.
En resumen, Prefetch y Superfetch (SysMain) son mecanismos internos de Windows que intentan ofrecer una experiencia más fluida. En la gran mayoría de los equipos actuales, lo mejor es dejarlos con su configuración predeterminada. Solo en casos muy concretos de bajo rendimiento o conflictos específicos merece la pena considerar su desactivación.
