Cómo NTFS reserva espacio para su tabla de archivos maestros (MFT)

En este artículo se describe cómo NTFS reserva espacio para su tabla de archivos maestros (MFT).

Se aplica a: Windows 10 (todas las ediciones), Windows Server 2012 R2
Número de KB original: 174619

Resumen

El sistema de archivos NTFS contiene en su núcleo, un archivo denominado tabla de archivos maestros (MFT). Hay al menos una entrada en el MFT para cada archivo de un volumen NTFS, incluido el propio MFT.

Dado que las utilidades que desfragmentan volúmenes NTFS no pueden mover entradas de MFT y porque una fragmentación excesiva del MFT puede afectar al rendimiento, NTFS reserva espacio para el MFT en un esfuerzo por mantener la MFT lo más contigua posible a medida que crece.

En Windows, la utilidad de desfragmentación desfragmenta el MFT.

La utilidad de desfragmentación

Una operación de desfragmentación en el MFT combina un archivo MFT en 1 e impide que se almacene en varios lugares que no son secuenciales en el disco. En esta clase de operación, el archivo MFT es más secuencial. Sin embargo, es exactamente el tamaño que el archivo MFT tenía antes de la operación de desfragmentación.

Un MFT puede ser demasiado grande si un volumen solía tener una gran cantidad de archivos que se eliminaron. Los archivos eliminados provocan agujeros internos en la MFT. Estos agujeros son regiones significativas que los archivos no usan. Es imposible recuperar este espacio. Esto es al menos cierto en un volumen NTFS activo.

Más información

NTFS usa entradas MFT para definir los archivos a los que corresponden. Toda la información sobre un archivo, incluidos su tamaño, marcas de fecha y hora, permisos y contenido de datos se almacena en entradas MFT o en el espacio externo a la MFT, pero se describe mediante las entradas de MFT.

(Las entradas de directorio, externas a la MFT, también contienen información redundante sobre los archivos. Pero una explicación completa de todas las estructuras en NTFS está fuera del ámbito de este artículo).

A medida que se agregan archivos a un volumen NTFS, se agregan más entradas al MFT y, por lo tanto, el MFT aumenta de tamaño. Cuando los archivos se eliminan de un volumen NTFS, sus entradas MFT se marcan como libres y se pueden reutilizar, pero la MFT no se reduce. Por lo tanto, el espacio utilizado por estas entradas no se reclama desde el disco.

Debido a la importancia de MFT a NTFS y al posible impacto en el rendimiento si este archivo se fragmenta, NTFS realiza un esfuerzo especial para mantener este archivo contiguo. NTFS reserva el 12,5 por ciento del volumen para el uso exclusivo del MFT hasta y a menos que se use el resto del volumen. Por lo tanto, el espacio para archivos y directorios no se asigna desde esta zona MFT hasta que el resto del espacio se asigna primero.

Nota:

Puede cambiar la clave del Registro NtfsMFTZoneReservation para aumentar el volumen en Windows. Para obtener más información sobre MFT, consulte la sección Elementos clave en el proceso de desfragmentación de disco de Mantenimiento del rendimiento máximo de Windows 2000 a través de la desfragmentación.

En función del tamaño medio del archivo y otras variables, la zona reservada de MFT o el espacio no reservado en el disco se pueden usar antes que el otro a medida que el disco se rellena en capacidad.

Los volúmenes con un pequeño número de archivos relativamente grandes agotan primero el espacio no reservado, mientras que los volúmenes con un gran número de archivos relativamente pequeños agotan primero el espacio de zona MFT. En cualquier caso, la fragmentación del MFT comienza a producirse cuando una región u otra se llenan. Si el espacio no reservado se llena, se empieza a asignar espacio para archivos de usuario y directorios desde la zona MFT que compite con el MFT para la asignación. Si la zona MFT se llena, se asigna espacio para las nuevas entradas de MFT desde el resto del disco, compitiendo de nuevo con otros archivos.

Un nuevo parámetro del Registro puede aumentar el porcentaje de un volumen que NTFS reserva para su tabla de archivos maestros. NtfsMftZoneReservation es un valor REG_DWORD que puede asumir un valor entre 1 y 4, donde 1 corresponde al tamaño mínimo de la zona MFT y 4 corresponde al máximo. Si no se especifica el parámetro o se proporciona un valor no válido, NTFS usa un valor predeterminado de 1 para este parámetro. Las relaciones exactas que corresponden a cada configuración no se documentan porque no están estandarizadas y pueden cambiar en versiones futuras. Para saber qué configuración es la mejor para su entorno, puede ser necesario experimentar con valores diferentes.

Para determinar el tamaño actual del MFT en un equipo Windows, escriba el dir /a $mft comando en un volumen NTFS.

Para determinar el tamaño actual del MFT en un equipo Windows, use Desfragmentador de disco para analizar la unidad NTFS y, a continuación, haga clic en Ver informe. Esto muestra las estadísticas de unidad, incluido el tamaño actual de MFT y el número de fragmentos.

El desfragmentador de disco muestra verde para lo que se denomina archivos del sistema y, en un volumen con formato NTFS, esto es simplemente la combinación de MFT, pagefile.sys (si existe uno en este volumen) y lo que se denomina "zona MFT" o espacio reservado para la expansión de MFT. El informe de desfragmentación solo muestra información sobre el archivo de página y MFT; no menciona la zona MFT porque no afecta de ninguna manera al uso o la capacidad del disco.

La zona MFT no se resta del espacio de unidad disponible (libre) que se usa para los archivos de datos de usuario, solo es el espacio que se usa en último lugar. Cuando el MFT necesita aumentar el tamaño, por ejemplo, ha creado nuevos archivos y directorios, se toma primero de la zona MFT, lo que reduce la fragmentación de MFT y optimiza el rendimiento de MFT.

La zona MFT predeterminada se calcula y reserva Ntfs.sys cuando monta el volumen y se basa en el tamaño del volumen. Puede aumentar la zona MFT mediante la entrada del Registro que se documenta a continuación, pero no puede hacer que la zona MFT predeterminada sea más pequeña que la calculada por Ntfs.sys. El aumento de la zona MFT no disminuye de ninguna manera el espacio en disco que pueden usar los usuarios para los archivos de datos.

Nota:

Es posible que los resultados devueltos por el comando dir no sean actuales. El tamaño notificado por el comando dir puede reflejar datos almacenados en caché que reflejen el tamaño del MFT en el momento en que se inició el sistema después de un apagado ordenado.

Importante

Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Para mayor protección, cree una copia de seguridad del registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información sobre cómo hacer una copia de seguridad del Registro y cómo restaurarlo, consulte Cómo realizar una copia de seguridad del Registro y restaurarlo en Windows.

Para agregar este valor, siga estos pasos:

  1. Ejecute Editor del Registro (Regedt32.exe) y vaya a la subclave siguiente:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem

  2. En el menú Editar , haga clic en Agregar valor.

  3. Escriba la siguiente información en el cuadro de diálogo:

    • Nombre del valor: NtfsMftZoneReservation
    • Tipo de datos: REG_DWORD
    • Datos: (el intervalo válido es 1-4)
  4. Salga del Registro Editor y reinicie el equipo.

Nota:

Se trata de un parámetro en tiempo de ejecución y no afecta al formato real de un volumen. En su lugar, afecta a la forma en que NTFS asigna espacio en todos los volúmenes de un sistema determinado. Por lo tanto, para que sea completamente eficaz, el parámetro debe estar en vigor desde el momento en que se da formato a un volumen y durante toda la vida útil del volumen. Si el parámetro del Registro se ajusta hacia abajo o se quita, la zona MFT se reducirá en consecuencia, pero esto no tendrá ningún efecto en el espacio MFT ya asignado y usado.