Saya memiliki situasi yang sangat aneh di sini. PC saya berfungsi dengan baik, setidaknya dalam banyak kasus, tetapi ada satu hal yang tidak bisa saya tangani. Ketika saya mencoba menyalin file dari flashdisk saya, semuanya baik-baik saja - Saya mendapat 16-19M / s, itu berfungsi dengan cukup baik. Tetapi ketika saya mencoba menyalin sesuatu ke flashdisk yang sama, PC saya membeku. Pointer mouse berhenti bergerak selama satu atau dua detik, kemudian bergerak sedikit dan berhenti lagi. Ketika ada sesuatu yang diputar, misalnya, di Amarok, suara itu bertindak seperti senapan mesin. Kecepatan melonjak dari 500K / dtk ke 15M / dtk, rata-rata 8M / dtk. Ini terjadi hanya ketika saya menyalin sesuatu ke flashdisk. Ketika proses penyalinan selesai, semuanya kembali normal.
Saya mencoba semuanya - flashdisk lain, port USB yang berbeda di panel depan atau port-port itu dari belakang, saya bahkan mengganti pin USB di motherboard (panel depan), tetapi di mana pun saya meletakkan stik USB saya, selalu sama. Saya mencoba filesystem yang berbeda - fat32
, ext4
. Saya tidak punya masalah dengan perangkat di Windows, di laptop saya. Itu harus PC saya atau sesuatu di sistem saya. Saya tidak tahu apa yang harus dicari. Saya menggunakan pengujian Debian dengan Openbox mandiri. PC saya agak tua - Pentium D 3GHz, RAM 1GiB, disk WD Green 1,5TB. Jika Anda memiliki sesuatu yang akan membantu saya untuk menyelesaikan masalah ini, saya akan senang mendengarnya.
Saya tidak tahu info apa lagi yang harus saya berikan, tetapi jika Anda memerlukan sesuatu, tanyakan saja, saya akan memperbarui posting ini sesegera mungkin.
Saya mencoba mereproduksi masalah ini di live cd ubuntu 13.04. Saya memasang partisi terenkripsi saya + swap terenkripsi dan menghubungkan flashdisk saya ke port usb. Selanjutnya saya mencoba untuk memulai beberapa aplikasi, dan sekarang saya punya ~ 820MiB di RAM dan sekitar 400MiB di SWAP. Tidak ada masalah dengan penyalinan, tidak ada pembekuan sama sekali, semuanya sebagaimana mestinya. Jadi, sepertinya itu kesalahan sistem, tapi di mana tepatnya? Apa yang akan menyebabkan perilaku aneh seperti itu?
ionice -c3 cp something.tgz /media/pendrive
. Ini akan menempatkan proses yang baru saja munculcp
dalam "idle" kelas prioritas ketiga (= terendah).Jawaban:
Apakah Anda menggunakan Linux versi 64-bit dengan banyak memori? Dalam hal ini masalahnya bisa jadi Linux dapat mengunci selama beberapa menit pada penulisan besar pada perangkat lambat seperti misalnya kartu SD atau stik USB. Ini adalah bug yang diketahui yang harus diperbaiki di kernel yang lebih baru.
Lihat http://lwn.net/Articles/572911/
Penanganan masalah: sebagai masalah root:
Saya telah menambahkannya ke
/etc/rc.local
file saya di mesin 64bit saya.TANSTAAFL ; perubahan ini dapat (dan mungkin akan) mengurangi throughput Anda ke perangkat ini --- ini adalah kompromi antara latensi dan kecepatan. Untuk kembali ke perilaku sebelumnya Anda bisa
... yang merupakan nilai default, yang berarti bahwa perilaku writeback akan dikontrol oleh parameter
dirty_ratio
dandirty_background_ratio
.Catatan untuk orang yang tidak terlalu ahli dengan linux: file-file di
/proc
pseudofiles --- hanya saluran komunikasi antara kernel dan ruang pengguna. Jangan pernah menggunakan editor untuk mengubah atau melihatnya; dapatkan sebaliknya prompt shell --- misalnya, dengansudo -i
(rasa Ubuntu) atausu root
dan gunakanecho
dancat
).Pembaruan 2016/04/18 tampaknya, bagaimanapun, masalahnya masih ada di sini. Anda dapat melihatnya di LWN.net , dalam artikel ini tentang antrian writeback .
sumber
uname -a
kembali3.13.0-32-generic
, jadi ya. Tetapi saya belum memeriksa apakah tambalan untuk masalah ini akhirnya terintegrasi dalam kernel atau tidak. Saya memiliki mesin 16GB dan tampaknya berfungsi dengan baik tanpa solusi, meskipun saya harus mengatakan bahwa saya tidak mencoba dengan perangkat yang sangat lambat.vim
yang pernah . Dapatkan shell root (withsudo -i
) dan gunakan perintah yang disebutkan di atas.Alasannya bisa menulis amplifikasi, karena sistem mencoba menulis dalam potongan yang lebih kecil, daripada menghapus blok (melakukan baca / mod / tulis) + blok misalignment.
Untuk memeriksa pengaturan Anda saat ini, lakukan:
Anda dapat menyempurnakan aturan aula untuk perangkat tersebut:
Dalam hal ini saya telah mengganti max_sectors untuk semua perangkat, yang menggunakan standar 240 (penyimpanan USB) ke sektor 32K atau sektor 2K.
Pada sistem saya (Mageia 4, 3.14.24 core i7) saya harus melakukan ini karena kecepatan tulis yang sangat lambat (2MB / detik) di Kingston DT101 G2 16GB:
dan tambahkan:
Dan
dd
kecepatan tulisnya naik 3x kali.mc
cp
mungkin 10-20x ke atas (setelah saya mulai partisi pertama @ sektor 8192 dan diformat ulang dengan 64k klaster yang disejajarkan):untuk memeriksa perataan (centang [sektor mulai data] harus kelipatan 128 (ukuran kluster)). Sesuaikan jumlah sektor yang dicadangkan (-R) jika perlu.
Max_sectors default (240) tampaknya menyebabkan amplifikasi tulis tinggi pada beberapa drive baru yang murah. Tapi hati-hati dengan pengaturan tinggi seperti itu, efek yang sama dicapai pada 2048 sektor (mungkin 1M menghapus blok:
Uji semua perangkat USB lama Anda, apakah masih berfungsi dengan baik. Gunakan atribut vendor / model dalam file aturan untuk lebih spesifik.
sumber
perangkat keras vs. perangkat lunak
Saya mengalami masalah aneh yang mirip dengan ini dengan USB thumbdrives, dan dalam penelitian saya hampir selalu merupakan masalah driver atau perangkat keras khusus di dalam PC / Motherboard.
Saya tahu ini karena saya punya beberapa sistem perangkat keras yang identik, dan pada satu, saya bisa melakukan operasi ini tanpa masalah, sementara yang lain masalah muncul.
Apa yang harus dilakukan?
Opsi Anda sangat terbatas di sini. Satu-satunya hal yang dapat Anda lakukan adalah memastikan Anda memiliki BIOS / firmware terbaru yang diinstal pada sistem Anda, dan pastikan Anda memiliki versi terbaru dari paket disto Anda.
Di luar itu semua yang bisa saya sarankan adalah memastikan bahwa Anda menghindari situasi ini dengan tidak mencoba menyalin file ketika salinan lain sedang berlangsung.
Jika Anda memiliki tipe kepribadian di mana hal-hal seperti ini menjengkelkan Anda, Anda bisa mencoba distro langsung Linux lain dan ulangi langkah-langkah yang mengarah ke masalah Anda. Ini hanya akan menghilangkan apakah itu masalah khusus distro atau masalah perangkat keras seperti yang saya jelaskan di atas. Itu akan menjadi penghiburan kecil, tapi aku selalu suka mengetahui hal-hal daripada mengubur kepalaku di pasir, dan tidak.
Ada yang lain?
Jika Anda benar-benar terobsesi, Anda dapat mencoba menjalankan aplikasi yang sedang Anda salin dengan
strace
harapan dapat menangkap sistem dengan cara apa pun yang dibekukan oleh panggilan sistem. Anda harus dapat melakukan ini dari baris perintah juga.Contoh
Kemudian saat itu berjalan mulai yang lain.
Sistem ini diharapkan akan membeku selama operasi ini dan mungkin Anda akan beruntung dan menemukan beberapa asap di salah satu file log tersebut.
sumber
strace
dan membintangi pembekuan hampir secara instan, jadi saya menunggu beberapa detik dan mematikan proses. Saya mendapat 1Mb log, tetapi saya tidak bisa membacanya, saya tidak tahu harus mencari apa. Anda dapat memeriksanya di sini pastebin.com/u29RvqgC - ini bukan log lengkap (terbatas pada 500Kb), tetapi hanya ada baris yang serupa dengan yang ada di akhir. Saya akan mencoba mereproduksi masalah ini dengan live cd ubuntu.