ls im Home-Verzeichnis sehr langsam

ls im Home-Verzeichnis sehr langsam

Vor einiger Zeit habe ich versehentlich Hunderttausende von Dateien in meinem Home-Verzeichnis erstellt, die ich anschließend gelöscht habe.

Seitdem ist die Ausführung von ls in meinem Home-Verzeichnis jedoch extrem langsam (das Drucken dauert Dutzende von Sekunden). Auch in anderen Verzeichnissen ist es langsam (das Drucken dauert 1 Sekunde) und die Tab-Vervollständigung ist überall langsam (ebenfalls Dutzende von Sekunden).

Was könnte das Problem sein?

Bearbeiten: Wie in den Kommentaren vorgeschlagen, die Ausgabe der

finde ~/ -maxdepth 1 | wc

ist 67 und die Ausgabe von df -h ist

/dev/sda2        74G  8.4G   62G  12% / 
none            4.0K     0  4.0K   0% /sys/fs/cgroup 
udev            3.9G   12K  3.9G   1% /dev 
tmpfs           795M  1.1M  794M   1% /run 
none            5.0M     0  5.0M   0% /run/lock 
none            3.9G  4.9M  3.9G   1% /run/shm 
none            100M   52K  100M   1% /run/user
/dev/sda1       825G  408G  376G  53% /home
AFS             8.6G     0  8.6G   0% /afs
/dev/sdb2       1.9T  584G  1.3T  32% /media/sj1/ResearchData1 
/dev/sdc1       932G  409G  524G  44% /media/sj1/ResearchData2 

Antwort1

Ich hatte das gleiche Problem und der Grund war ein Link zu einem Netzlaufwerkordner, der nicht mehr funktionierte.

Um festzustellen, ob dies bei Ihnen der Fall ist, erhalten Sie eine Liste der Links mit:

find . -maxdepth 1 -type l -ls

Versuchen Sie lses mit jedem einzelnen. Derjenige, der defekt ist, wird sich auch aufhängen ls. Drücken Sie daher Strg-C, um den Vorgang abzubrechen.

Nach dem Entfernen rmbeginnt alles sofort mit dem Laden.

Antwort2

Versuchen Sie es ls -1 -f /directory , wenn wir eine große Anzahl von Dateien im Verzeichnis haben.

  • -1listet den Dateinamen jeweils einzeln pro Zeile auf.
  • -fdeaktiviert die Sortierung.

Antwort3

Durch das Erstellen der Hunderttausenden von Dateien sind möglicherweise viele Dateisystembereiche entstanden, die nicht unbedingt mit entfernt werden, wenn die Dateien entfernt werden. Berechnen Sie einen „Fragmentierungs-Score“ mit:

sudo e4defrag -c ~/

und wenn die Punktzahl schlecht ist (sagen wir, höher als 50), verwenden Sie denselben Befehl ohne das Flag „-c“, um das Dateisystem zu defragmentieren.

Antwort4

Die meisten Dateisysteme komprimieren Verzeichnisse nach dem Löschen nicht. Was bei mir funktioniert hat, ist die Antwort auf dieseältere Frage:

  • Einen neuen Ordner erstellen
  • Vorhandene Dateien und Ordner in den neuen Ordner kopieren
  • Löschen Sie den langsamen Ordner
  • Benennen Sie den neuen Ordnernamen in den alten Ordnernamen um

verwandte Informationen