C'è un modo per mostrare la velocità di copia dei file su un Mac?


24

C'è un modo per mostrare la velocità di copia dei file su un Mac? Ad esempio, quando si copia un file dal disco rigido alla scheda SDHC e viceversa.

Il motivo è che posso verificare la velocità massima di una scheda SDHC sul mio PC Dell, ma sembra che lì l'interfaccia della scheda sia limitata a 20 MB / s in lettura o scrittura. Quindi voglio controllare com'è su iMac da 27 pollici. Forse è possibile utilizzare un programma di test, ma mi piace ancora scoprire un modo semplice per dire la velocità di copia dei file sul Mac.

Risposte:


33

Se ti senti a tuo agio nel Terminale, puoi usare rsync per copiare alcuni file da un posto all'altro e ti darà statistiche di riepilogo sulla velocità:

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

Ad esempio rsync --stats - umanamente leggibile ~ / Desktop / File di grandi dimensioni / Volumi / Altro Disco / Dir

Puoi anche digitare nel terminale solo il comando:

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

( notare che devono essere presenti uno o più spazi dopo la --human-readablefine del comando e l'interruzione prima di fornire i nomi dei file di origine e destinazione)

Quindi trascinare il file / la cartella che si desidera copiare e rilasciarlo sulla finestra del terminale, quindi trascinare e rilasciare la directory di destinazione. Trascinando e rilasciando un file / cartella su una finestra del terminale, il percorso di quel file / cartella verrà inserito nella finestra del terminale. Il trascinamento di un file è preferito nella maggior parte dei casi poiché gestirà uno spazio in qualsiasi cartella o nome di file. In questo caso lo spazio ha bisogno di un \ per indicare di non terminare il nome del file esattamente l'opposto della necessità dello spazio precedente.

L'output del comando precedente sarà simile a:

[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

il file verrà copiato nella "cache del disco rigido" e considerato come copiato? (mentre i dati non vengono fisicamente copiati sul disco rigido. Ad esempio, se si copia un file da 500 MB dal disco rigido interno all'unità USB, i dati potrebbero essere "letti" nella cache RAM del sistema operativo e essere scritti sull'unità USB, e mentre sta ancora scrivendo, il file è già segnalato come "copia terminata" e l'accelerazione della copia è quindi dichiarata in modo inaccurato in modo elevato.)
nopole

@ 太極 者 無極 而 生 No. I file non vengono copiati nella cache. La cache fa sembrare la copia più veloce solo se 1. la velocità della linea è molto più alta della velocità dell'unità disco e 2. la dimensione del trasferimento si adatta interamente alla cache allocata. La cache viene utilizzata in modo tale da poter sostenere la massima velocità della linea perché è più veloce di qualsiasi unità o linea di trasferimento. Ma il sistema operativo scrive continuamente quella cache sul disco. Ma è vero che quando non è rimasto nulla da trasferire e mentre la cache è ancora piena, il sistema operativo riporta il trasferimento come completato. Ecco perché è necessario sincronizzare o smontare / espellere e attendere mentre il buffer viene svuotato. HTH.
Paul-Sebastian Manole,

man rsyncnel Terminale e cerca Cache. Sembra che la versione OS X di rsync opta per la memorizzazione nella cache del sistema operativo.
JBR Wilkinson,

@JBRWilkinson il sistema operativo può rendere trasparente la memorizzazione nella cache, ma penso che in questo caso stia rsynceffettuando la chiamata di sistema UNIX e utilizzi l'opzione "DO NOT USE CACHE", quindi è pura copia sul dispositivo e nulla è nella cache RAM
nopole,

13

Il metodo più semplice è semplicemente attingere alle misurazioni generali della velocità di I / O che il sistema mantiene.

Se ti piace la linea di comando, diskutil listmostra ciò che le unità di mappare a cui disk0, disk1, ecc ... e iostat 1permette di scaricare le velocità di trasferimento ogni secondo. Dovrai premere Control-C per uscire da questo programma al termine. Inoltre, se si desidera una misurazione più lunga, modificare semplicemente il 1numero di secondi in cui si desidera calcolare la media delle velocità di I / O.

Se ti piacciono i grafici, "Activity Monitor" aggregherà l'IO da tutti i dischi. Seleziona la scheda "Attività disco", c'è un grafico live dell'IO al secondo o della velocità effettiva (dati) al secondo nel tempo per tutte le unità combinate.

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.