Estoy trabajando en una aplicación que escribe secuencialmente un archivo grande (y no lo lee en absoluto), y me gustaría usar posix_fadvise()
para optimizar el comportamiento del sistema de archivos.¿Qué posix_fadvise() args para la escritura secuencial de archivos?
La descripción de la función en la página de manual sugiere que la estrategia más adecuada sería POSIX_FADV_SEQUENTIAL
. Sin embargo, la descripción de la implementación de Linux duda de que:
En Linux,
POSIX_FADV_NORMAL
establece la ventana readahead al tamaño predeterminado para el dispositivo de respaldo;POSIX_FADV_SEQUENTIAL
duplica este tamaño, yPOSIX_FADV_RANDOM
desactiva por completo la lectura de archivos.
Como solo estoy escribiendo datos (sobreescribiendo también los archivos posiblemente), no espero ninguna readahead. ¿Debo seguir con mi POSIX_FADV_SEQUENTIAL
o más bien usar POSIX_FADV_RANDOM
para desactivarlo?
¿Qué hay de otras opciones, como POSIX_FADV_NOREUSE
? ¿O tal vez no use posix_fadvise()
para escribir?
Tenga en cuenta que POSIX_FADV_NOREUSE no está implementado en el kernel de Linux. – smoors