fstrimとiostat

fstrimとiostat

新しいノートパソコンに新しいサムスンSSDが装備されています。ディスク(firefoxプロファイルとメモリ)にデータを書き込まないようにすべてを調整しました。 fsを/var/log使用しており、1日1回SSDをクリーンアップするために使用します。ext4relatimefstrim

ディスクの負荷を監視するために使用しますiostat -dhm。表示されたfstrimコマンドを実行する前にiostat

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda
              4.97         0.05         0.59       1856      20924

剪定後/home

# fstrim -v /home
/home: 100.2 GiB (107555401728 bytes) trimmed

ìostatプログラム

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda
              5.91         0.05         3.51       1859     123498

MB_wrtn増加する102574 MB。これは私のディスクfstrimに書き込まれていることを意味しますか?102574 MB = 100.2 GB

Trimは、有効なデータを含まないページに書き込む代わりに「表示」する必要があります。

iostatによって書かれた行動を見たようですfstrim(たとえそうではない一種の書き込み)。どう思いますか?私のディスクを監視するより良い方法はありますか?

注:使用はiotop終了したプロセスのデータ量を表示しないため、回答ではありません。したがって、iotop測定が不正確です。

答え1

MB_wrtnが102574MB増加しました。これはfstrimが私のディスクに102574MB = 100.2GBを書き込んでいるという意味ですか?

はい、それはまさにその意味です。fstrimデフォルトでは、ブロックデバイスの各ブロックを調べて、そのブロックがファイルシステムで使用されていること(つまり、機密データが含まれているかどうか)を確認します。

  • ブロックが使用中です。無視してください。
  • 未使用ブロック:このブロックのATA TRIMコマンドを基本ブロックデバイスに送信します。

完了すると、クリーンアップされたブロックの数は常にファイルシステムの空き容量と同じでなければなりません。fstrimすべての空きブロックは、過去にクリーンアップされたかどうかにかかわらず、実行されるたびにクリーンアップされるため、より頻繁に実行しても速度が速くなりません。

カーネルはTRIMコマンドを書き込みコマンドとして扱うことができるため、実行された各TRIMコマンドは4k書き込みコマンドとして計算されます。

Trimは、有効なデータを含まないページに書き込む代わりに「表示」する必要があります。

ブロックを整理されたものとして「表示」するのは、その内容が変更されるため、ブロックを「書き込む」ことと同じです。誤って誤ったブロックを切り捨てると、データが失われます。誤ったブロックにゼロを書き込むと、データが失われるのと同じです。

関連情報