Mengapa operasi penyalinan file di Linux semakin lambat?

22

Saya memiliki file 12 ~ 200 MB. Menyalin salah satu dari mereka ke drive lain membutuhkan waktu 20 detik. Ketika saya mencoba menyalin semuanya sekaligus, pertama-tama mengatakan itu akan memakan waktu 5 menit, kemudian terus melambat menjadi berjam-jam dan berhari-hari.

Saya menyalin file melalui Thunar di XFCE, tapi saya ingat memiliki masalah yang sama menggunakan baris perintah. Mengapa ini terjadi dan apa yang bisa saya lakukan untuk memperbaikinya, selain hanya menyalin file satu per satu?

Pengguna tidak ditemukan
sumber
Sudahkah Anda memeriksa drive untuk kesalahan? Apakah file-file ini ada di dalam sub-folder?
tubaguy50035
@ tubaguy50035 File-file ini tidak ada dalam sub-folder. Yang sedang berkata, kemungkinan drive sumber mungkin memiliki kesalahan. Aku akan memeriksa.
Pengguna tidak ditemukan
@CodeGnome Saya melakukan cp -v sourcedir / * destdir dasar.
Pengguna tidak ditemukan

Jawaban:

25

Ini adalah masalah yang dikenal dengan kernel Linux itu sendiri yang telah dikenal sejak lama, belum ada yang menangani masalah ini.

saat ini tidak ada perbaikan atau penyelesaian yang diketahui, selain menggunakan Windows yang meningkatkan kecepatan dan kemudian menjadi normal. Saya menemukan bug ini menjadi masalah dengan prioritas yang sangat tinggi, tetapi para programmer tidak merasakan hal yang sama. Bug ini sendiri yang mulai mengusir saya dari Linux.

Referensi:

Dave
sumber
6
Kutipan Diperlukan! Mungkin bisa membantu menjawab pertanyaan kami jika Anda bisa memberikan dokumentasi yang menunjukkan bug ini
Journeyman Geek
6
dan di sini, yang dapat ditemukan sebagai tautan dalam kutipan aslinya. bugzilla.kernel.org/show_bug.cgi?id=12309
Dave
Anda berkendara dari Linux hanya karena alasan ini ???
Kyrol
1
@ Ryrol ini adalah alasan yang sangat besar!
puk
10

Anda harus mencoba rsync untuk memantau kecepatan transfer Anda. Sebagai contoh:

rsync -PSauv sourcedir/* destdir/

Jika Anda benar-benar melihat penurunan kecepatan transfer, tidak seperti file yang besar, maka Anda perlu melihat beberapa hal lainnya.

  1. Jika disk Anda terikat I / O, Anda akan mengalami masalah. Anda sering melihat ini ketika menulis banyak ke flash drive atau perangkat USB eksternal.

  2. Uji kedua disk Anda dengan hdparm -Tt <device>untuk melihat apakah salah satu lebih lambat dari yang seharusnya, atau secara dramatis lebih lambat dari perangkat lain yang dapat menyebabkan masalah I / O.

  3. Periksa output dmesg Anda dan status SMART Anda untuk memastikan Anda tidak memiliki kesalahan disk yang jelas. Anda juga dapat mempertimbangkan badblocks -njika Anda mencurigai ada kesalahan disk pada drive non-SMART.

Ada banyak alasan mengapa disk dapat meronta-ronta atau melakukan secara optimal, tetapi sampai Anda dapat mengukur masalahnya, Anda tidak akan tahu apa masalahnya. :)

CodeGnome
sumber
2

Ingat bahwa proses penyalinan file juga di-cache oleh Linux. Jika Anda mengambil satu file (bahkan 200MB) dan mulai menyalinnya ke tempat lain, Linux menyimpan, dengan kemungkinan besar, seluruh file dalam memori dan menulisnya di lokasi baru. Kemudian, jika Anda memilih untuk menyalin file itu lagi dan dengan itu sekelompok file lain, maka file pertama sudah di-cache dan kemudian mungkin melewatkan seluruh "bagian baca", sementara yang lain pertama kali dibaca dari dan kemudian ditulis ke sumber mereka / tujuan. Fitur ini bahkan dapat menyebabkan kecepatan transfer yang tidak terbatas dan keanehan yang serupa, jadi jangan percaya pengukuran apa pun yang dapat dibatalkan oleh mekanisme chaching sebelumnya.

Avio
sumber
-3

Bakar salinan SliTaz ke CD / USB.

Ini dirancang untuk digunakan pada mesin yang sangat kuno dan berjalan sangat cepat karena itu dalam RAM. Anda tidak perlu menginstal, jalankan saja secara langsung. Jika Anda memiliki USB yang terpasang, Anda akan dapat melihatnya, lalu menyalin apa yang Anda butuhkan ke komputer Anda. Tingkat transfer yang saya temukan stabil dan cepat.

pengguna202442
sumber