ディスクI / Oが飽和するとシステムがハングアップする


8

外部USB3ハードドライブから内部ハードドライブに(またはその逆に)大容量のファイル転送を行う場合、Nautilusまたはターミナルを介して、Ubuntu(Unity)はほぼ完全にロックされます。alt-tabのようなものは、ファイル転送の実行中に完了するまでに20秒以上かかります。これは、パッケージのインストール時など、ディスクへのランダムな読み取り/書き込みが多数ある場合には当てはまりません。

Windowsを実行していたとき、バックグラウンドでファイル転送を実行していても、何かがディスクにアクセスする必要があるときは遅くても、処理を実行できました。私はまだalt-tabでうまくいきました。

Ubuntuは、他のすべてのディスクI / Oよりもファイル転送を優先するようです。そのため、ロックがかかります。Windowsでは、ファイル転送の優先度が低いように見えます。つまり、ディスクが飽和している間もシステムは応答性を維持できます。

どうすれば修正できますか?ファイルをコピーするときにコンピュータが完全に使用できなくなるので、それはかなり煩わしいです。この問題は14.04と15.10の両方で発生します。この問題を防ぐために、ハードドライブをUSB2ポートに接続することを余儀なくされました。その結果、転送時間が非常に長くなります。


すべきではないが、unix.stackexchange.com / questions / 107703 /…が役立つかどうかを確認する
Rmano '29

回答:


10

私のラップトップにも同じ問題がありました。これは、他のコンピュータと比較してかなり遅いディスクシステムです。

ディスク転送に使用されるスケジューリングアルゴリズムを変更することで、これを大幅に改善することができました。UbuntuはデフォルトでDeadlineを使用しますが、cfqを使用するとシステムの応答が速くなります。

使用しているスケジューラを確認するには、次のコマンドを発行します

cat /sys/class/block/sda/queue/scheduler    

(再起動するまで)1回限りの変更を行うには、次のコマンドを発行します。

echo cfq | sudo tee /sys/class/block/sda/queue/scheduler

外付けハードドライブ用に持っているすべてのものに変更を加えることが重要であることに注意してください。鉱山は通常sdbとしてロードされます。だから私はコマンドを発行しますecho cfq | sudo tee /sys/class/block/sdb/queue/scheduler

次のようelevator=cfqに、grubファイルにカーネルパラメータを追加して、コンピュータに接続されているすべてのドライブに対して変更を永続的にします。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash noautogroup elevator=cfq"

うわー、これでうまくいきました。ありがとう!私のシステムは、転送中の応答性が大幅に向上し、実際に全体のロードが高速になりました。
Degru 2015年

それが役に立ったと聞いてうれしい。
Charles Green

1
>デフォルトではUbuntuはデッドラインを使用しますが、デッドラインを使用するとシステムの応答が速くなることがわかりました。私はあなたがこのフレーズを '... when cfqを使うとき'で終わらせたかったのではないかと思います。
markus_b 2015年

何らかの理由でこれに対する解決策を探したことはありません。数日前に投稿されたとき、私はこの回答に賛成しました。今、それをテストする機会がありました(多くのtorrentをDelugeからTransmission に移行する必要があり、すべてのtorrentを再確認する必要がありました)。改善。特にワークスペースを切り替えると、システムはまだ途切れますが、以前のようにほぼ完全にハングアップすることはありません。ありがとう!この回答は非常に役立つため、IMOは報奨金に値します(私は報奨金を設定します)。
kos

@kosそれは完全な解決策ではありません、または私は確かに自分自身がはるかに幸福になるでしょう-私はまだ時々も途方に暮れていて、これは非常にイライラすることがわかりました。
チャールズグリーン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.