Menyalin beberapa file besar (> 2GB) antara dua HDD USB mengungkapkan pola I / O di bawah ini di Process Explorer.
Caching tulis dinonaktifkan pada drive tujuan. Saya akan mengharapkan I / O berjalan dengan kecepatan tinggi sampai cache internal perangkat terisi, pada saat itu akan melambat selama sisa transfer.
Sebaliknya, kita melihat lonjakan I / O tinggi, diikuti oleh kemiringan ke bawah sebelum turun sepenuhnya, hanya untuk melanjutkan beberapa detik kemudian. Lampu aktivitas HDD tetap menyala sepanjang waktu.
Apa yang terjadi disini? Kenapa warung lengkap? Saya kira mereka terjadi ketika cache internal drive penuh, tetapi tampaknya kemudian menolak transfer lebih lanjut untuk sementara waktu, kemudian kembali ke kecepatan penuh (menunjukkan bahwa cache mungkin kosong).
Drive sumber adalah Seagate 500GB SATA yang terhubung melalui USB, drive tujuan adalah WD SATA 2TB yang juga terhubung melalui USB.
Jawaban:
Itu terlihat seperti jeda yang sangat lama. Tanpa melihat Procmon, hanya ada spekulasi.
Anda harus menggunakan Procmon karena tidak mungkin memberi tahu apa yang sedang terjadi. Task Manager hanya bisa memberi tahu Anda gejalanya. Yang kita butuhkan adalah panggilan kernel, terutama panggilan penjaga.
Seperti yang Anda katakan sendiri, tebakan awal saya juga ketika Windows membuat panggilan flush cache di akhir file.
Menggunakan Procmon, Anda biasanya dapat melihat panggilan flush. Jika Anda mencatat peristiwa dari proses Sistem, Anda dapat melihat driver Sistem File membuat panggilan FlushBuffers.
sumber