USB リーダー経由で、Arch Linux ラップトップから Micro SD カードに約 20 GB の音楽を転送しようとしています。プロセスは正常に開始します。最初の約 50 曲は合計 1 秒かかりますが、私が読んだところによると、これはキャッシュ (または何か) に関するもので、実際の速度を表すものではありません。その後、各曲に 1 秒から 5 秒かかる、妥当な速度になります (ファイルはロスレスなので、平均で約 15 MB です)。
しかし、数百曲を超えると、処理速度がまったく遅くなります。1 つのファイルの転送には約 5 分かかりますが、これは控えめな見積もりです。一晩中実行したままにしていましたが、ほとんど進展がありませんでした。
このカードは最近購入したクラス10のSandiskで、USBと通常のSDカードアダプターの両方で使用してみました。物理的な側面をさらに調査する前に、OSレベルの解決策を試してみたいと思います。また、ラップトップの3つのUSBポートすべてを試しましたが、すべて同じ問題が発生しています。通常のcp -rv ~/music /mnt/sd
コマンドと を使用しようとしましたがrsync -rvh ~/music /mnt/sd
、どちらも同じことが起こります。テスト目的で同じパーティション上の宛先にコピーすると、すべて問題がないので、間違いなく別のパーティションにあることが関係しています。投稿された提案も試しました。ここそれは役に立たなかった。
私のカーネルバージョンは 4.10.9 です。
何か案は?
答え1
ほとんどの場合、問題は RAM 容量または IO 読み取り/書き込みによるものです。ファイルをコピーすると、データは RAM に保存され、その後宛先にコピーされます。最大 20 GB の大きなファイルをコピーしているので、問題は RAM の制限によるものである可能性があります。RAM がない場合は、IO 読み取り/書き込み容量が原因でボトルネックが発生する可能性があります (ただし、これによって停止することはありません)。CPU が過負荷になっているかどうか統計を確認してください。CPU 負荷統計を確認するには、「sar -P ALL」コマンドを使用することをお勧めします。RAM 使用状況の統計も確認してみてください。