%20admite%20archivos%20de%20marcador%20de%20posici%C3%B3n%20con%20tama%C3%B1os%20falsos%3F.png)
Cada vez que inicio Photoshop, inmediatamente crea un archivo temporal de 2 GB en el disco duro donde se encuentra el caché. Es una unidad de disco y no escucho ninguno de los ruidos del disco duro que normalmente se asociarían con la escritura de 2 GB de datos. ¿Es posible crear un archivo de marcador de posición vacío con un tamaño "falso" para reservar espacio en caso de que realmente necesite almacenar en caché algunos datos más adelante?
Respuesta1
Hay dos formas diferentes de lograr esto en un volumen NTFS.
ElSetEndOfFile
función, en los sistemas de archivos NTFS, reserva el espacio en disco para el archivo pero no llena ese espacio con nada. Es posible que haya un poco de actividad en el disco debido a la actualización de la contabilidad NTFS. Cuando un programa hace algo con un archivo más allá del último byte que se ha escrito previamente, NTFS garabatea el recorrido entre el último byte escrito (último "válido") y el byte solicitado (para evitarproblemas de seguridad) y actualiza el puntero de datos válido.
Entonces hayarchivos dispersos. A diferencia de los archivos normales extendidos con SetEndOfFile
, NTFS realiza un seguimiento de qué sectores tienen datos reales en lugar de solo qué byte es el último con datos válidos. Las tiradas largas de ceros en las que no se ha escrito nada no se almacenan en el disco físico.
Puede comprobar si un archivo está disperso fsutil sparse queryflag
seguido de la ruta al archivo. Si no es escaso, el programa utiliza el primer enfoque.
Otras lecturas:¿Por qué mi escritura de un solo byte tarda una eternidad?
Respuesta2
Sí, esto se llama "archivo disperso".
NTFS y ReFS lo admiten, pero FAT32 y ExFAT no.
Un programa puede decirle explícitamente al sistema operativo qué rangos de bytes de un archivo deben tener espacio en el disco (por defecto, es todo). Las otras partes no asignadas se tratan como si contuvieran solo una gran cantidad de bytes con valor 0 si el programa las lee.
En el cuadro de diálogo de propiedades del archivo, verá un tamaño de archivo "normal", que es el "falso", y un tamaño de cuánto se usa en el disco, que es la parte asignada (más algunos bytes para obtener bloques de HDD completos).
Ver tambiénhttps://en.wikipedia.org/wiki/Sparse_file
Respuesta3
La herramienta incorporadafsutilPuede crear rápidamente un archivo no disperso lleno de ceros, con fsutil file createNew <filename> <bytes>
. Ocupará espacio en el disco, pero no será necesario escribir en los bloques cero (suponiendo que esté utilizando NTFS o similar).
A continuación se muestra un ejemplo de cómo crear un archivo de 10 GB. El espacio libre en el disco duro se reducirá en 10 GB, pero la acción debería ocurrir muy rápidamente.
C:\>fsutil file createNew dummy 10737418240
File C:\dummy is created
C:\>fsutil sparse queryFlag dummy
This file is NOT set as sparse