11 votos

Eliminar una carpeta con muchos archivos

No estoy seguro de cómo hacer esta pregunta correctamente, pero voy a intentarlo.

Estoy en Mojave 10.14.

Encontré un directorio en mi papelera que es extremadamente lento para eliminar. Cuando intento ingresar al directorio, Finder muestra un icono giratorio en la parte inferior y no muestra los archivos en él. He esperado más de 10 minutos.

Cuando intento usar el comando "ls" en la terminal, también tarda más de 10 minutos y no muestra nada.

Cuando intento vaciar la papelera, es EXTREMADAMENTE lento. El número de archivos eliminados aumenta 1 por segundo (casi). He esperado más de 30 minutos y aún no había terminado.

¿Cómo puedo diagnosticar este problema y encontrar una solución?

Actualización 1: El sistema de archivos es APFS y el directorio tiene más de 12,000,000 archivos json pequeños. Actualización 2: Finalmente conté el número de archivos y el tamaño total del directorio. El directorio tiene 22,203,359 archivos y 27.59GB.

0 votos

Los comentarios no son para discusiones extendidas; esta conversación ha sido trasladada al chat.

0 votos

Pero ¿el grupo está hablando sobre el tema para resolver el problema?

4voto

Nick DeVore Puntos 4424

Unix.stackexchange.com una vez me dijo que rsync es la forma más rápida de eliminar muchos archivos:

mkdir empty_dir
rsync -a --delete empty_dir/    yourdirectory/

Tal vez esto ayude aquí.

2voto

Kerry Puntos 100

Cuando intento usar el comando "ls" en la terminal, también tarda más de 10 minutos y no muestra nada.

  1. Esto no es normal. Algo está mal. Vería la causa más probable como un sistema de archivos defectuoso o una unidad fallando. Aunque sorprendente, podría ser un sector defectuoso en la unidad justo donde está el directorio. En el caso de una unidad fallando, macOS intentará leer múltiples veces para ver si puede recuperar los datos.

    /Applications/Utilities/Disk Utility

Ve a la pestaña de Primeros Auxilios. Si encuentras problemas, tendrás que arrancar en el administrador de recuperación. comando + r al arrancar antes del pitido. haz clic en la pestaña de utilidades y selecciona disk utility.

Utilidad de Disco de High Sierra

enter image description here

Utilidad de Disco de Yosemite

enter image description here

  1. Intenta un arranque seguro. Siempre es una buena idea probar el modo seguro cuando suceden cosas extrañas.

    Apaga tu máquina. Mantén presionada la tecla shift. Enciéndela. El arranque tardará más de lo normal porque el sistema de archivos en la unidad de arranque se está revisando y reparando según sea necesario. Todo sobre el modo seguro incluyendo qué funciones y aplicaciones no están disponibles en el modo seguro. El arranque seguro utiliza un controlador de software en lugar de utilizar el hardware de video de tu máquina. http://support.apple.com/kb/ht1455

0 votos

En tu captura de pantalla de Utilidad de Discos, hay un borde rojo rodeando un área en blanco en la lista de volúmenes y discos. ¿Se supone que eso indica algo?

2 votos

Ejecuté el primer auxilio y todo estaba bien. Finalmente descubrí lo que está dentro de la carpeta. Contiene archivos json muy pequeños. Supongo que es normal...hay demasiados archivos muy pequeños.

0 votos

Los problemas de rendimiento con grandes cantidades de archivos pequeños son absolutamente normales. LS realiza operaciones en cada hijo (por ejemplo, verificar si es un archivo o un directorio) - por lo que si una búsqueda en el sistema de archivos tarda una milésima de segundo (bastante normal incluso en un SSD), puede tardar minutos en enumerar un directorio lo suficientemente grande.

2voto

Eliminar muchos archivos de la Papelera a través de Finder/Vaciar la Papelera puede ser muy lento a veces. Puede ser más fácil/rápido ejecutar

rm -r ~/.Trash

en Terminal (al menos no bloqueará parcialmente la interfaz de usuario mientras lo hace).

PD: Si los archivos a eliminar están en una unidad externa necesitas eliminarlos desde /Volumes/VOLNAME/.Trash en su lugar.

0 votos

Todavía lo mismo. De hecho, ni siquiera elimina un solo archivo después de 15 minutos. El tamaño del directorio sigue siendo el mismo a diferencia de vaciar la papelera.

0 votos

El comando rm funciona, el número de archivos no debería tener un impacto significativo. Verifica el disco, asegúrate de tener una copia de seguridad reciente y reinicia.

0 votos

// Ejecuté primeros auxilios y estaba bien. Reinicié e intenté de nuevo. Mismo resultado. "rm -r" no hace nada por más de 10 minutos.

1voto

benwiggy Puntos 8

22 millones de archivos a 1 milisegundo cada uno tomarán más de 6 horas.

No tengo idea si esa es una estimación realista para la unidad de tiempo, pero el Finder tradicionalmente no es el más eficiente en operaciones de archivos.

Y tampoco confiaría en su diálogo de 'progreso'. https://xkcd.com/612/

Deberías dejar que el proceso se ejecute todo el tiempo que sea necesario.

0voto

Jason Victor Puntos 1

Vi algunas sugerencias para rm -rf ./dirname para eliminar muchos archivos en la terminal. Parece que no está pasando nada, pero es porque no verás lo que está haciendo a menos que uses la bandera "verbose" de -v.

Entonces intenta:

rm -rfv ./NOMBRE_DE_TU_DIRECTORIO_QUE_QUIERES_ELIMINAR

Luego podrás ver los archivos que se están eliminando a medida que avanzan. Dado que hay una gran cantidad de ellos, puede tomar un tiempo. Ten en cuenta que el modo verbose podría ralentizarlo al final, pero prefiero ver que aún está funcionando.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X