以前にも同様の問題がありましたが、どのように解決したのか覚えていませんね。
FATを使用してUSBスティックに何かをコピーしようとすると、ほぼ端で停止し、時には100%で停止します。もちろん、メモリースティックを別の場所に移動したときにファイル全体が含まれていませんでした。 (ファイルは映画です!)
mount -olushを使用してデバイスをマウントしようとしましたが、同じ問題が発生しました。
また、新しいFATパーティションでUSBスティックをフォーマットしました。
どうすればいいのかご存知ですか?
ps 私はこれがオペレーティングシステム、つまりDebianとは何の関係もないと思い、SSDドライブで対処しても問題は発生しないと思います。
答え1
これは、プログラムが「このデータを作成してください」と言い、Linuxカーネルがそれをディスクに待機しているメモリバッファにコピーしてから「OK、完了」と言っているために発生します。だからプログラムはすべてをコピーしたと思います。その後、プログラムはファイルを閉じますが、突然カーネルはバッファがディスクにプッシュされるのを待ちます。
したがって、残念ながら、プログラムはバッファをフラッシュするのにどれくらいの時間がかかっていないかを知らせることができません。
vm.dirty_bytes
高度なユーザートリックを試したい場合は、カーネルパラメータを(15MB)のように設定して、15000000
Linuxで使用されるバッファサイズを減らすことができます。これは、アプリケーションが事前に15MB以上の実際の進行状況を取得できないことを意味します。 (カーネルパラメータを動的に変更できますが、再sudo sysctl vm.dirty_bytes=15000000
起動後もそれを維持するには、ディストリビューション固有の設定/etc/sysctl.conf
ファイルを変更する必要があります。)
副作用は、この設定によってコンピュータのデータ書き込みスループットが低下する可能性があることです。しかし、一般に、大量のデータを書き込んでいる間にプログラムが長時間実行されているのを見るのは、プログラムの混乱に似ています。とても役に立ちます。プログラムは作業を終えたように見えますが、カーネルが実際の作業を実行するとシステムが著しく遅れます。この値を非常に小さい値に設定すると、dirty_bytes
使用可能なメモリが不足したり、突然大量のデータを書き込むプログラムを実行したときにシステムが応答しなくなるのを防ぐのに役立ちます。
しかし、あまりにも小さく設定しないでください!カーネルが1/4秒以内にバッファを通常のハードドライブにフラッシュできるというおおよその推定値として15MBを使用しました。私のシステムが「遅い」感じを受けないようにします。
答え2
パーティーに遅れていましたが、大容量ファイルをUSBスティックにコピーするために使用する回避策はrsync
。
私がいつも正常に使用する基本的な構文は次のとおりです。
rsync -avh /home/user/Documents /media/user/myusbstick
警告する:文書のフォルダ全体をコピーするには、構文を使用します。しかし、コピーしたい場合ただこのファイルとフォルダではないスラッシュを追加する必要があります。このように:
rsync -avh /home/user/Documents/ /media/user/myusbstick
もちろん、ファイルをコピーするには:
rsync -avh /home/user/Documents/file1 /media/user/myusbstick
複数ファイルの場合
rsync -avh /home/user/Documents/file1 /home/user/Documents/file2 /media/user/myusbstick
この構文は、コピーするすべてのフォルダ/ファイルに適用されます。
これは実際の解決策ではありませんが、迷惑な問題を避けるための簡単で安全な方法であることがわかります。
答え3
古い質問ですが、問題がまだ発生しているようです。推奨されるようにバッファを15MBに設定してください。ここUbuntu 19.04では動作しないため、システムがハングします。
1.5GBファイルを新しくフォーマットした空のFAT32 16GBドライブにコピーしようとしています。完了したことを確認するために約10分間実行しましたが、運がありませんでした。
NTFSで再フォーマットすると、操作は10秒以内に完了します。 FAT32はサイズが4GB未満のすべての単一ファイルを許可することになっているので、これがなぜ重要なのかは分かりません。しかし、正常に動作しているようです。これはMacOSで使用したいドライブにとって理想的なソリューションではありませんが、他のすべてのユースケースでは簡単な解決策です。 exFATも同様の効果があると思いますが、テストしませんでした。