Existe uma maneira de mostrar a velocidade de cópia de arquivos em um Mac?

24

Existe uma maneira de mostrar a velocidade de cópia de arquivos em um Mac? Por exemplo, ao copiar um arquivo do disco rígido para o cartão SDHC e vice-versa.

O motivo é que posso verificar a velocidade máxima de um cartão SDHC no meu PC Dell, mas parece que a interface do cartão está limitada a 20 MB / s de leitura ou gravação. Então, eu quero verificar como está o iMac 27 polegadas. Talvez algum programa de teste possa ser usado, mas ainda gosto de descobrir uma maneira simples de saber a velocidade de cópia de arquivos no Mac.

nopole
fonte

Respostas:

33

Se você está confortável no Terminal, pode usar o rsync para copiar alguns arquivos de um lugar para outro, e ele fornecerá estatísticas resumidas sobre a velocidade:

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

Por exemplo, rsync --stats --human-readable ~ / Desktop / Arquivos grandes / Volumes / OtherDisk / Dir

Você também pode digitar no terminal apenas o comando:

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

( observe que é necessário haver um ou mais espaços após o --human-readabletérmino desse comando e interrupção antes que os nomes dos arquivos de origem e de destino sejam fornecidos)

Em seguida, arraste o arquivo / pasta que deseja copiar e solte-o na janela do terminal, seguido de arrastar e soltar o diretório de destino. Arrastar e soltar um arquivo / pasta em uma janela do terminal colocará o caminho desse arquivo / pasta na janela do terminal. Na maioria dos casos, é preferível arrastar um arquivo, pois ele manipula um espaço em qualquer nome de pasta ou arquivo. Nesse caso, o espaço precisa de \ para indicar para não finalizar o nome do arquivo exatamente o oposto de precisar do espaço anterior.

A saída do comando acima será semelhante 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
JBRWilkinson
fonte
o arquivo será copiado para o "cache do disco rígido" e considerado uma cópia concluída? (enquanto os dados não são fisicamente copiados para o disco rígido. Por exemplo, se você copiar um arquivo de 500 MB do disco rígido interno para a unidade USB, os dados poderão ser "lidos" no cache de RAM do sistema operacional e gravados na unidade USB, e enquanto ele ainda está escrevendo, o arquivo já é relatado como "cópia acabada" e a aceleração de cópia, portanto, é afirmado erroneamente alta).
nopole
@ 太極 者 無極 而 生 Não. Os arquivos não são copiados para o cache. O cache faz com que a cópia pareça mais rápida se 1. a velocidade da linha for muito maior que a velocidade da unidade de disco e 2. o tamanho da transferência se encaixar totalmente no cache alocado. O cache é usado para que a velocidade máxima da linha possa ser mantida, porque é mais rápida do que qualquer unidade ou linha de transferência. Mas o sistema operacional grava esse cache no disco o tempo todo. Mas é verdade que quando não há mais nada a ser transferido e enquanto o cache ainda está cheio, o sistema operacional relata a transferência como concluída. É por isso que você precisa sincronizar ou desmontar / ejetar e aguardar enquanto o buffer é esvaziado. HTH.
Paul-Sebastian Manole
man rsyncno terminal e procure por cache. Parece que a versão OS X do rsync opta pelo cache do SO.
JBRWilkinson
@JBRWilkinson, o sistema operacional pode tornar o cache transparente, mas acho que neste caso está rsyncfazendo a chamada do sistema UNIX e use a opção "NÃO USE CACHE", portanto, é pura cópia para o dispositivo e nada está no cache da RAM
nopole 17/10
13

O método mais simples é apenas acessar as medições gerais de velocidade de E / S que o sistema mantém.

Se você gosta de linha de comando, diskutil listmostra o que as unidades mapeadas para que disk0, disk1, etc ... e iostat 1vai despejar a transferência acelera a cada segundo. Você precisará pressionar Control-C para sair deste programa quando terminar. Além disso, se você quiser uma medição mais longa, mude 1para quantos segundos quiser calcular a média das velocidades de IO.

Se você gosta de gráficos, o "Activity Monitor" agregará o IO de todos os discos. Selecione a guia "Atividade em disco", um gráfico ao vivo de E / S por segundo ou Taxa de transferência (dados) por segundo ao longo do tempo para todas as unidades combinadas.

insira a descrição da imagem aqui

Pierre Watelet
fonte