GNU/Linux >> Linux の 問題 >  >> Linux

ファイルをペンドライブにコピーしているときにPCがフリーズするのはなぜですか?

私はここで本当に奇妙な状況にあります。私のPCは、少なくともほとんどの場合は正常に動作しますが、対処できないことが1つあります。ペンドライブからファイルをコピーしようとすると、すべて問題ありません— 16〜19M / sで、かなりうまく機能します。しかし、同じペンドライブに何かをコピーしようとすると、PCがフリーズします。マウスポインタの移動が1〜2秒停止した後、少し移動して再び停止します。たとえば、アマロックで何かが再生されているとき、音は機関銃のように機能します。速度は500K/sから15M/s、平均8M/sに跳ね上がります。これは、ペンドライブに何かをコピーしているときにのみ発生します。コピーのプロセスが完了すると、すべてが通常に戻ります。

他のペンドライブ、フロントパネルの別のUSBポート、または背面のポートなど、すべてを試しました。マザーボード(フロントパネル)のUSBピンも変更しましたが、USBスティックをどこに置いても、常に同じです。別のファイルシステムを試しました— fat32ext4 。 Windows、ラップトップのデバイスに問題はありません。それは私のPCか私のシステムの何かでなければなりません。何を探すべきかわからない。スタンドアロンのOpenboxでDebianテストを使用しています。私のPCはちょっと古いです— Pentium D 3GHz、1GiBのRAM、1.5TBWDGreenディスク。この問題を解決するのに役立つ何かがあれば、それを聞いてうれしいです。

他にどのような情報を提供すればよいかわかりませんが、何か必要な場合は、質問してください。この投稿をできるだけ早く更新します。

この問題をubuntu13.04ライブCDで再現しようとしました。暗号化されたパーティションと暗号化されたスワップをマウントし、ペンドライブをUSBポートに接続しました。次に、いくつかのアプリを起動しようとしましたが、RAMに約820MiB、SWAPに約400MiBがあります。コピーに問題はなく、フリーズもまったくありません。すべてが正常です。つまり、システムの障害のように見えますが、正確にはどこにあるのでしょうか。何がそのような奇妙な行動を引き起こすでしょうか?

承認された回答:

大量のメモリを搭載した64ビットバージョンのLinuxを使用していますか?その場合、問題は、Linuxが
例のSDカードやUSBスティックなどの遅いデバイスでの大きな書き込みで数分間ロックする可能性があることです。これは既知のバグであり、新しいカーネルで修正する必要があります。

http://lwn.net/Articles/572911/

を参照してください

回避策:根本的な問題として:

echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes

/etc/rc.localに追加しました 64ビットマシンのファイル。

関連:Php:chown —ファイルの所有者を変更します

TANSTAAFL;この変更により、これらのデバイスへのスループットが低下する可能性があります(おそらくそうなるでしょう)。これは、遅延と速度の間の妥協点です。以前の動作に戻すには、次のことができます

echo 0 > /proc/sys/vm/dirty_background_bytes
echo 0 > /proc/sys/vm/dirty_bytes

…これはデフォルト値です。つまり、ライトバック動作はパラメータdirty_ratioによって制御されます。 およびdirty_background_ratio

Linuxの専門家ではない人への注意:/procのファイル 疑似ファイルです—カーネルとユーザースペース間の単なる通信チャネルです。エディターを使用して変更したり、確認したりしないでください。代わりにシェルプロンプトを取得します—たとえば、sudo -iを使用します (Ubuntuフレーバー)またはsu root echoを使用します およびcat

更新2016/04/18 結局のところ、問題はまだここにあるようです。ライトバックキューに関するこの記事のLWN.netで確認できます。


Linux
  1. Linuxで「sshpass」がファイル転送を自動化する正しい方法ではない理由

  2. Bashスクリプトがエイリアスを認識しないのはなぜですか?

  3. バッシュ‘?

  1. Linux –システムにRootfsファイルシステムが存在しないのはなぜですか?

  2. Bash翻訳ファイルにすべてのエラーテキストが含まれていないのはなぜですか?

  3. LsとHexdumpがファイルサイズについて意見が一致しないのはなぜですか?

  1. オンザフライ出力リダイレクト、プログラムの実行中にファイルリダイレクト出力を確認

  2. xargs -L では正しいフォーマットが生成されるのに、xargs -n では生成されないのはなぜですか?

  3. Linux カーネルの `struct file_operations` で close 関数が release と呼ばれるのはなぜですか?