Si está utilizando el sistema de archivos ext3, considere cambiar a ext4.
Ext3 puede ser lento para eliminar archivos grandes porque almacena la ubicación de cada bloque 4k individual: un archivo 50GiB (50 * 1024 ^ 3 bytes) ocupa 13107200 bloques, cada uno de los cuales se registra en la tabla de inodo como un número de bloque de 32 bits , para un total de 50MiB de datos de contabilidad solo para realizar un seguimiento de dónde se encuentran los contenidos del archivo en el disco. Esa gran lista de bloqueos puede estar dispersa en muchos bloques indirectos , todos los cuales deben actualizarse cuando se elimina el archivo. El disco que busca acceder a todos esos bloques indirectos es probablemente lo que está causando el retraso.
Ext4, por otro lado, asigna archivos en "extensiones" de hasta 128MiB. Ese archivo de 50GiB se puede grabar en la tabla de inodo usando solo 400 registros de extensión, en lugar de 13107200 números de bloque individuales, lo que reduce drásticamente la cantidad de E / S de disco necesaria al eliminar el archivo.
Tenga en cuenta que si convierte un sistema de archivos ext3 existente en su lugar en ext4, los archivos nuevos se asignarán usando extensiones, pero los archivos existentes seguirán usando listas de bloqueo. Puede usar el chattr +e
comando para reasignar un archivo existente usando extensiones; En cuanto al rendimiento, esto es comparable a hacer una copia del archivo y luego eliminar el original.