Gibt es eine Möglichkeit, die Geschwindigkeit beim Kopieren von Dateien auf einem Mac anzuzeigen?

24

Gibt es eine Möglichkeit, die Geschwindigkeit beim Kopieren von Dateien auf einem Mac anzuzeigen? Zum Beispiel beim Kopieren einer Datei von der Festplatte auf die SDHC-Karte und umgekehrt.

Der Grund ist, dass ich die maximale Geschwindigkeit einer SDHC-Karte auf meinem Dell-PC überprüfen kann, aber es scheint, dass die Kartenschnittstelle dort auf 20 MB / s Lese- oder Schreibgeschwindigkeit beschränkt ist. Also möchte ich mal schauen, wie es auf dem iMac 27 Zoll ist. Möglicherweise kann ein Testprogramm verwendet werden, aber ich möchte immer noch einen einfachen Weg finden, um die Geschwindigkeit des Kopierens von Dateien auf dem Mac zu bestimmen.

Nopole
quelle

Antworten:

33

Wenn Sie mit dem Terminal vertraut sind, können Sie mit rsync einige Dateien von einem Ort an einen anderen kopieren und erhalten eine Zusammenfassung der Geschwindigkeitsstatistiken:

rsync -a --progress --stats --human-readable path_to_source path_to_dest

ZB rsync --stats --human-readable ~ / Desktop / Große Datei / Volumes / OtherDisk / Dir

Sie können auch nur den folgenden Befehl in das Terminal eingeben:

rsync -a --progress --stats --human-readable 

( Beachten Sie, dass nach --human-readabledem Beenden dieses Befehls ein oder mehrere Leerzeichen eingefügt werden müssen, bevor die Quell- und Zieldateinamen angegeben werden.)

Ziehen Sie dann die Datei / den Ordner, die / den Sie kopieren möchten, in das Terminalfenster und ziehen Sie das Zielverzeichnis per Drag & Drop. Durch Ziehen und Ablegen einer Datei / eines Ordners in ein Terminalfenster wird der Pfad dieser Datei / dieses Ordners in das Terminalfenster eingefügt. Das Ziehen einer Datei wird in den meisten Fällen bevorzugt, da sie ein Leerzeichen in einem beliebigen Ordner oder Dateinamen enthält. In diesem Fall muss der Raum eine \ , um anzuzeigen , nicht die Dateinamen genau entgegengesetzt zu beenden früher den Raum benötigen.

Die Ausgabe des obigen Befehls ähnelt:

[jnet@Kyle ~]$ rsync -a --progress --stats --human-readable /Users/jnet/Pictures/Screen\ Caps /Volumes/Scratch 
building file list ... 
644 files to consider
Screen Caps/
Screen Caps/.DS_Store
      21.51K 100%    0.00kB/s    0:00:00 (xfer#1, to-check=642/644)
Screen Caps/Can someone downvote me please.pdf
      78.19K 100%    8.29MB/s    0:00:00 (xfer#2, to-check=641/644)
Screen Caps/Can someone downvote me please.png
     399.61K 100%   14.66MB/s    0:00:00 (xfer#3, to-check=640/644)
Screen Caps/ChefVMMemtest.png
       8.29K 100%  207.68kB/s    0:00:00 (xfer#4, to-check=639/644)
[...]
Number of files: 644
Number of files transferred: 638
Total file size: 176.85M bytes
Total transferred file size: 176.85M bytes
Literal data: 176.85M bytes
Matched data: 0 bytes
File list size: 12574
File list generation time: 0.002 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 176.92M
Total bytes received: 14.09K

sent 176.92M bytes  received 14.09K bytes  14.15M bytes/sec
total size is 176.85M  speedup is 1.00
JBRWilkinson
quelle
Wird die Datei in den "Festplatten-Cache" kopiert und als fertig kopiert betrachtet? (Während die Daten nicht physisch auf die Festplatte kopiert werden. Wenn Sie beispielsweise eine 500-MB-Datei von der internen Festplatte auf ein USB-Laufwerk kopieren, werden die Daten möglicherweise in den RAM-Cache des Betriebssystems "eingelesen" und auf das USB-Laufwerk geschrieben.) und während noch geschrieben wird, wird die Datei bereits als "Kopiervorgang beendet" gemeldet, und die Kopiergeschwindigkeit wird daher als ungenau hoch angegeben.)
NOPOL
@ 太極 太極 者 而 而 Nein. Dateien werden nicht in den Cache kopiert. Der Cache lässt das Kopieren nur dann schneller erscheinen, wenn 1. die Zeilengeschwindigkeit viel höher ist als die Geschwindigkeit des Festplattenlaufwerks und 2. die Übertragungsgröße vollständig in den zugewiesenen Cache passt. Der Cache wird so verwendet, dass die maximale Leitungsgeschwindigkeit beibehalten werden kann, da sie schneller ist als jede Laufwerks- oder Übertragungsleitung. Aber das Betriebssystem schreibt diesen Cache die ganze Zeit auf die Festplatte. Es stimmt jedoch, dass das Betriebssystem die Übertragung als abgeschlossen meldet, wenn nichts mehr zu übertragen ist und der Cache noch voll ist. Aus diesem Grund müssen Sie synchronisieren oder die Bereitstellung aufheben / entfernen und warten, bis der Puffer geleert ist. HTH.
Paul-Sebastian Manole
man rsyncim Terminal und suchen Sie nach Cache. Es sieht so aus, als ob die OS X-Version von rsync das Zwischenspeichern des Betriebssystems beendet.
JBRWilkinson
@JBRWilkinson das Betriebssystem kann das Caching transparent machen, aber ich denke, in diesem Fall rsyncmacht es den UNIX-Systemaufruf und verwendet die Option "KEIN CACHE VERWENDEN", ​​so ist es reines Kopieren auf das Gerät und nichts ist im RAM-Cache
17.
13

Die einfachste Methode besteht darin, einfach die gesamten E / A-Geschwindigkeitsmessungen abzurufen, die das System verwaltet.

Wenn Ihnen die Befehlszeile gefällt, diskutil listwird angezeigt, welche Laufwerke zu welchen disk0gehören disk1, usw. ... und iostat 1die Übertragungsgeschwindigkeiten werden jede Sekunde ausgegeben. Sie müssen Strg-C drücken, um dieses Programm zu beenden, wenn Sie fertig sind. Wenn Sie eine längere Messung wünschen, ändern 1Sie einfach den Wert auf wie viele Sekunden Sie die E / A-Geschwindigkeiten mitteln möchten.

Wenn Sie Diagramme mögen, aggregiert der "Aktivitätsmonitor" die E / A von allen Datenträgern. Wählen Sie die Registerkarte "Festplattenaktivität". Dort wird für alle Laufwerke zusammen ein Live-Diagramm angezeigt, das entweder den E / A-Wert pro Sekunde oder den Durchsatz (Daten) pro Sekunde über die Zeit angibt.

Bildbeschreibung hier eingeben

Pierre Watelet
quelle