mount.ntfs は CPU を占有せずにコンピュータを遅くし、「ディスク スリープ」を表示します

mount.ntfs は CPU を占有せずにコンピュータを遅くし、「ディスク スリープ」を表示します

ファイルシステムに 2 つの NTFS パーティションがマウントされています。そのうちの 1 つはプロジェクトをホストしているので、非常に重要です。

時々、私のコンピュータは遅くなり、時にはフリーズしそうになります。そのたびに、プロセスmount.ntfsdisk sleepシステム モニター ksysguard の CPU 列に表示されます (下のスクリーンショットを参照)。

特に、そのような状況では、記憶はない不足しており、CPUはないフル稼働中。

これにはどのような説明が考えられますか? また、どうすれば修正できますか?

私は Kubuntu 19.04、64 ビットを実行しています。

スクリーンショット

答え1

ある意味、「ディスクスリープ」は原因減速の兆候は、単なる症状にすぎません。

現時点ではプロセスはディスクの読み取り/書き込み要求に対する応答を待つ以外何もしていません。したがって、ディスクの応答に時間がかかりすぎる場合は、どれでも読み取りまたは書き込みを試行するプロセスは、操作が完了するまで「ディスク スリープ」または「I/O 待機」状態になります。

システムが遅く感じられるのは、多くのプログラムが NTFS パーティションからファイルを読み取ろうとしているだけなので、当然 mount.ntfs が回復するのを待っているのだと思います。また、mount.ntfs 自体は HDD が回復するのを待っているため、それらのアクセス要求に対応できません。

いくつかの原因が考えられます:

  1. があるたくさんディスクの読み取りまたは書き込みが何回発生しているか (この物理ディスク全体に対してであり、必ずしもこの特定のパーティションに対してではありません)。これが原因かどうかを判断するには、次のことから始めます。

    • iotopまたは、iotop -Pao現在 I/O を実行している個々のプログラムを確認します。
    • iostat -h 1報告する合計各物理ストレージ デバイスの I/O レート。
  2. ディスクは破損した領域を読み取ろうとしています。(HDD には破損したセクターが発生することがあります。場合によっては、12 回再試行しないとセクターを読み取れないこともあります。また、まったく読み取れない場合もありますが、HDD が試行を諦めるまで待つ必要があります。)

    • dmesgまたは、dmesg -wディスクが読み取りエラーやその他のハードウェアの問題を報告しているかどうかを確認します。
  3. カーネルにはバグがある可能性があります。たとえば、高性能の「UAS」モードで USB 3.0 を介して接続されたディスクは、過去にシステム全体を混乱させることがよくありました。

    • 再びdmesgですが、今回はカーネルが自身のロックアップを報告しているかどうかを確認します。それなし関連するディスク読み取りエラー。

プロジェクトが重要な場合は、シングル'dmesg'で報告されたエラーは、すべてを停止して別のディスクにバックアップする必要があることを意味します。(実際には、プロジェクトが実は重要なので、すでにバックアップを取っているはずです。

関連情報