Apakah ada cara untuk menunjukkan kecepatan menyalin file di Mac?

24

Apakah ada cara untuk menunjukkan kecepatan menyalin file di Mac? Misalnya, ketika menyalin file dari hard drive ke kartu SDHC dan sebaliknya.

Alasannya adalah bahwa saya dapat memeriksa kecepatan maksimal kartu SDHC pada PC Dell saya, tetapi tampaknya di sana, antarmuka kartu dibatasi hingga 20MB / s baca atau tulis. Jadi saya ingin memeriksa bagaimana di iMac 27 inch. Mungkin beberapa program pengujian dapat digunakan, tetapi saya masih ingin mencari tahu cara sederhana untuk mengetahui kecepatan menyalin file di Mac.

nopole
sumber

Jawaban:

33

Jika Anda merasa nyaman di Terminal, Anda dapat menggunakan rsync untuk menyalin beberapa file dari satu tempat ke tempat lain dan itu akan memberi Anda ringkasan statistik dengan kecepatan:

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

Misalnya rsync --stats --human-readable ~ / Desktop / Large-File / Volume / OtherDisk / Dir

Anda juga dapat mengetik ke terminal hanya dengan perintah:

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

( perhatikan harus ada satu atau lebih spasi setelah --human-readableuntuk mengakhiri perintah itu dan istirahat sebelum nama file sumber dan tujuan disediakan)

Kemudian seret file / folder yang ingin Anda salin dan letakkan di jendela terminal, diikuti dengan menyeret dan menjatuhkan direktori tujuan. Menyeret dan menjatuhkan file / folder ke jendela terminal akan menempatkan jalur file / folder itu ke jendela terminal. Menyeret file lebih disukai dalam banyak kasus karena akan menangani spasi di folder atau nama file apa pun. Dalam hal ini ruang membutuhkan \ untuk menunjukkan tidak mengakhiri nama file yang kebalikan dari kebutuhan ruang sebelumnya.

Output dari perintah di atas akan mirip dengan:

[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
sumber
apakah file akan disalin ke "hard disk cache" dan dianggap selesai menyalin? (sementara data tidak disalin secara fisik ke hard drive. Misalnya, jika menyalin file 500MB dari hard disk internal ke drive USB, data mungkin "dibaca" ke dalam cache RAM OS, dan ditulis ke drive USB, dan ketika masih menulis, file tersebut telah dilaporkan sebagai "selesai penyalinan" dan karena itu mempercepat penyalinan dinyatakan sangat tinggi.)
nopole
@ 太極 者 無極 而 生 Tidak. File tidak disalin ke cache. Cache hanya membuat salinan tampak lebih cepat jika 1. kecepatan saluran jauh lebih tinggi daripada kecepatan drive disk dan 2. ukuran transfer sepenuhnya sesuai dengan cache yang dialokasikan. Cache digunakan sedemikian rupa sehingga kecepatan jalur maksimum dapat dipertahankan karena lebih cepat daripada drive atau jalur transfer apa pun. Tetapi OS menulis cache itu ke disk sepanjang waktu. Tetapi memang benar bahwa ketika tidak ada lagi yang tersisa untuk ditransfer dan sementara cache masih penuh, OS melaporkan transfer tersebut selesai. Itu sebabnya Anda perlu menyinkronkan atau melepas / mengeluarkan dan menunggu sementara buffer dikosongkan. HTH.
Paul-Sebastian Manole
man rsyncdi Terminal dan cari Cache. Sepertinya versi OS X dari rsync memilih keluar dari caching OS.
JBRWilkinson
@ JBRWilkinson OS dapat membuat caching transparan, tapi saya pikir dalam hal ini rsyncmembuat panggilan sistem UNIX dan menggunakan opsi "JANGAN GUNAKAN CACHE", jadi ini murni menyalin ke perangkat dan tidak ada yang ada dalam cache RAM
nopole
13

Metode paling sederhana adalah dengan memanfaatkan pengukuran kecepatan IO keseluruhan yang dipertahankan oleh sistem.

Jika Anda seperti baris perintah, diskutil listmenunjukkan Anda apa drive peta yang disk0, disk1, dll ... dan iostat 1akan membuang kecepatan transfer setiap detik. Anda harus menekan Control-C untuk keluar dari program ini setelah selesai. Juga, jika Anda ingin pengukuran yang lebih lama, ubah saja 1ke berapa detik Anda ingin rata-rata kecepatan IO.

Jika Anda menyukai grafik, "Activity Monitor" akan mengumpulkan IO dari semua disk. Pilih tab "Disk Activity", ada grafik langsung dari IO per detik atau Throughput (Data) per detik dari waktu ke waktu untuk semua drive yang digabungkan.

masukkan deskripsi gambar di sini

Pierre Watelet
sumber