Ist der (Ubuntu) Linux-Dateikopieralgorithmus besser als Windows 7?

13

Windows-Kopieren ist seit Windows Vista ein echtes Chaos. Sogar Microsoft behauptet, sie hätten die Leistung verbessert, aus Benutzersicht ist dies nicht ganz sichtbar. Selbst bei einer einzelnen Datei erscheint im Kopierfenster zu viel Zeit zum 'Berechnen' und zum Beenden des Kopiervorgangs.

Gleichzeitig habe ich einige Dateien in Ubuntu Linux gesichert. Ich hatte das Gefühl, dass es sehr schnell ist. Könnte ein Gefühl sein, das durch schnellere Benutzeroberflächenaktualisierungen verursacht wird.

Ich habe vor ein paar Jahren einen informativen Beitrag von Jeff Atwood über Windows File Copying gelesen . aber was sind meine spezifischen Fragen

  • Ist die Leistung von (Ubuntu) Linux-Dateien besser als die von Windows-7?
  • Verwenden beide Algorithmen, Windows und Linux, mehrere Threads und Pipelining-Mechanismen, um die Geschwindigkeit zu verbessern? Wenn ja, welches ist besser?
sarat
quelle
3
In Windows verwenden xcopyoder sogar robocopy. Viel besser. Mit letzterem können Sie beispielsweise zwei Durchgänge durchführen: Erstens, um alle Verzeichnisse zu erstellen, aber keine Dateien zu kopieren, und zweitens, um die tatsächlichen Dateien zu kopieren, wodurch keine Fragmentierung des Ziels verursacht wird.
Kerrek SB
1
Oder RichCopy ( blogs.technet.com/b/ken und Download )
siehe
Kommt auch auf das Dateisystem an - dein System benutzt vermutlich sowas ext3/4, was hier mit NTFS konkurriert. Sie können auch versuchen, reiserfsund xfs- beide sind für schnelle Operationen mit kleinen Dateien optimiert.
new123456
@KerrekSB, bitte hinterlasse einen Kommentar, damit ich ihn positiv bewerten kann. (Ich habe nur einen Kommentar abgegeben, aber Sie wissen, was ich meine.) Das ist die Antwort.
CarlF
Es sollte beachtet werden (wenn auch 8 Jahre später!), Dass Robocopy / CREATE, obwohl es sehr nützlich ist, um eine vollständige Verzeichnisstruktur mit leeren Dateien zu replizieren, die Fragmentierung von Dateien auf dem Ziel nicht verhindert. Die Struktur wird in der MFT erstellt, der Inhalt der Dateien kann dann jedoch an einer beliebigen Stelle aufgezeichnet werden. Normalerweise sollte es auch in einem Durchgang, wenn Robocopy Mono-Threaded ausführt und jeweils eine Datei kopiert, ohnehin keine Fragmentierung geben (und Multi-Threaded-Ausführung ist eine schlechte Idee, da dies die Leistung einer HDD-zu-HDD-Kopie erheblich verringert. da der mechanische Antrieb viel mehr „schleifen“ muss).
GabrielB

Antworten:

6

Der copyin Windows integrierte Standard ist nicht sehr gut, aber Windows wird mit zwei erweiterten Befehlen ausgeliefert, die weitaus effizienter sind: xcopyund robocopy. Besonders wenn Sie die volle Kontrolle über erweiterte Dateisystemfunktionen wie ACLs oder alternative Datenströme benötigen , robocopyist dies das Werkzeug Ihrer Wahl.

Wenn Sie beispielsweise eine große Verzeichnisstruktur kopieren, möchten Sie möglicherweise, dass das Ziel nicht fragmentiert wird . Der Standardaufruf von robocopyist bereits recht gut, aber da Verzeichniseinträge beim Erstellen von Unterverzeichnissen aktualisiert werden, können Sie immer noch fragmentierte Verzeichnisse abrufen. Um dies zu verhindern, können Sie robocopyzwei Durchgänge ausführen , von denen der erste nur die Zielverzeichnisstruktur ohne Kopieren von Dateiinhalten erstellt und der zweite die eigentlichen Dateikörper kopiert.

Insgesamt robocopyist es sehr effizient und kennt alle NTFS-Funktionen.

Kerrek SB
quelle
Ist NTFS effizienter als ext3 / 4?
Sarat
Wie eine Zwei-Pass-Robokopie dazu beiträgt, die Fragmentierung zu verringern, da der eigentliche Inhalt später kopiert wird. Die Datenträgerzuordnung wird vollständig vom Dateimanager gesteuert.
Sarat
Ich mache einige Tricks wie Beyond Compare zum Kopieren von Dateien. Dh ich kann mehrere Kopiervorgänge ausführen, um die Bandbreitennutzung zu maximieren. Aber ich bin nicht sicher, wie fragmentiert es sein wird
sarat
2
@ Sarath: In Bezug auf Fragmentierung: Die Verzeichniseinträge werden größer, wenn dem Verzeichnis neue Dateien und Unterverzeichnisse hinzugefügt werden. Wenn Sie das Verzeichnis nur naiv erstellen und mit dem Ablegen von Dateien beginnen, ist der ursprüngliche Verzeichnisdatensatz möglicherweise zu klein und muss erweitert werden. Jetzt ist jedoch kein Speicherplatz mehr verfügbar, da die Dateidaten bereits darauf folgen. Mit der /CREATEOption werden leere Dateien und Unterverzeichnisse erstellt, die keinen Platz belegen und so das fortlaufende vollständige Ausschreiben der Verzeichniseinträge ermöglichen.
Kerrek SB
1
@Sarath: Zum Vergleich von NTFS mit Ext kann ich nichts sagen, da NTFS nicht offen ist und die Frage der Effizienz eher vage ist. NTFS ist sicherlich ein gutes Stück Technologie mit einer Vielzahl von Funktionen. Es gibt jedoch keine wirkliche Wahl, da Sie NTFS unter Windows und Ext (oder BTRFS) unter Linux verwenden und das war's.
Kerrek SB
4

Ein Teil der Geschwindigkeit, die Sie unter Ubuntu Linux sehen, ist wahrscheinlich das Zwischenspeichern von Dateien. Soweit mir bekannt ist, unternimmt die Dateikopie unter Linux keine Anstrengungen, um die Verwendung des Dateicaches zu minimieren.

Wenn Sie unter Linux eine Datei kopieren, die kleiner als 50% Ihres Arbeitsspeichers ist, wird die gesamte Datei in den Dateicache kopiert und dann, wenn es die Zeit erlaubt, auf die Festplatte geschrieben. Dies scheint sehr schnell zu sein, erzwingt jedoch, dass andere nützlichere Dateien aus dem Cache entfernt werden. Dies können Web-Cache-Dateien, E-Mails, Konfigurationsdateien, Schriftdateien usw. sein.

Windows XP verwendet, um ohne Rücksicht auf Dateicache auch zu kopieren. In Windows Vista hat Microsoft den Explorer jedoch so geändert, dass beim Kopieren eine begrenzte Menge an Dateicache verwendet wird . Dies verringert die Auswirkung großer Dateikopien auf den Rest des Systems. Es reduziert aber auch die Geschwindigkeit auch relativ kleiner Dateikopien auf die Geschwindigkeit der Festplatte.

Zan Lynx
quelle
Ja Ubuntu mit dem Dateicaching-Mechanismus. Ich habe auch festgestellt, dass das Browsen während des Kopiervorgangs etwas langsam ist. Mir ist auch aufgefallen, dass die Geschwindigkeit besonders beim Kopieren einer großen Anzahl von Dateien
ständig
Ich denke, das ist die Antwort, die die Frage fast vollständig beantwortet.
Nandakumar Edamana
2

Verwenden Sie in Windows Teracopy. Dadurch wird das allgemeine Dummheitsproblem des Explorers behoben.

In Ubuntu war das Kopieren von Dateien sehr schnell.

Das Dialogfeld "Dateioption" wird bei Verwendung von Wechseldatenträgern dennoch nicht ausgeblendet. Wenn Sie versuchen, das Laufwerk sofort nach dem Verschwinden des Dialogfelds sicher auszuwerfen, wird eine Fehlermeldung angezeigt. Daten kommen aber durch.

Update: Windows-Dateivorgänge sind bei der Integration mit Diensten und der Registrierung wahrscheinlich langsam. Nautilus (in Gnome) ist nur ein einfacher Prozess, oder er hat zumindest nicht die Ladevorgänge / Unterbrechungen, die der Explorer hat.

BZ1
quelle
Lösen Sie die Dummheit, indem Sie eine weitere GUI hinzufügen, die geöffnet bleiben muss :) In Ubuntu können Sie meiner Erfahrung nach das Dialogfeld zum Kopieren / Verschieben schließen und es wird in der Taskleiste angezeigt, wenn Sie fertig sind. Ich
bin
Teracopy ruft sich mit Explorer geladen. Sie müssen es nicht offen halten. Teracopy wird also ohne Benutzereingriff in den Arbeitsspeicher geladen und funktioniert unauffällig. Ubuntu benötigt so etwas nicht, da es all diese Intelligenz in Nautilus eingebaut hat, dh die Optionen "Zusammenführen" und "Alles überspringen".
BZ1
+1: Danke, dass du TeraCopy auf mich aufmerksam gemacht hast!
Siehe
Ich benutzte ein kostenloses Open-Source-Tool namens FastCopy. [ ipmsg.org/tools/fastcopy.html.de]
Sarat
-1

Das Verschieben und Kopieren von Dateien unter Linux ist natürlich ein schneller Vorgang. Der Grund, warum Sie Dateien so schnell verschieben und kopieren können, liegt darin, dass sich Quelle und Ziel in derselben Partition befinden. Die Operation muss nur die Inodes ändern. Das Verschieben von Dateien zwischen verschiedenen Partitionen ist immer noch sehr schnell (nur etwa eine Minute für eine 1-Gig-Datei). In Windows sind einige Schritte erforderlich, um Dateien an Ziele auf derselben Partition zu verschieben, da die Dateiverwaltung in Windows problematisch ist. (Denken Sie an die Dateifragmentierung und die Art und Weise, wie Windows Festplatten formatiert.)

user113907
quelle
Ich bin damit einverstanden, dass das Bewegen innerhalb der Partitionen ziemlich schnell ist. Das Kopieren wollte jedoch immer ein doppeltes Datum auf der Festplatte haben und neue Inodes erstellen. Außerdem bezweifle ich, dass das Verschieben von Dateien zwischen Partitionen kostspielig ist, da physische Dateibewegungen stattfinden. Korrigiere mich, wenn ich falsch liege.
Sarat