ZFS の「自動トリム」はいつ、どのくらいの頻度で実行されますか?

ZFS の「自動トリム」はいつ、どのくらいの頻度で実行されますか?

読みました「TRIM サポートを追加」記事を読みましたが、「ZFS はいつ、どのくらいの頻度で行われるのか」という手がかりが得られませんでした。autotrimまた、ZFS のアクティビティをどのように観察できるのでしょうかautotrim

事前にコメントをいただきありがとうございます。

答え1

ZFS 自動トリムは、実際には、ブロック/範囲が解放された後に実行される継続的かつ機会主義的な操作です。

からマニュアルページ:

自動トリム = オン | オフ

オンに設定すると、最近解放され、プールによって割り当てられなくなったスペースが定期的にトリミングされます...自動 TRIM は、解放後にブロックをすぐに再利用しません。代わりに、より小さな範囲がいくつかのより大きな範囲に集約されるのを楽観的に遅らせます。これにより、より効率的にストレージに発行できるようになります。

詳細については、これらのコードコメント:

Automatic TRIM happens continuously in the background and operates
solely on recently freed blocks (ms_trim not ms_allocatable).
...
While the automatic TRIM process is highly effective it is more likely
than a manual TRIM to encounter tiny ranges.  Ranges less than or equal to
'zfs_trim_extent_bytes_min' (32k) are considered too small to efficiently
TRIM and are skipped.  This means small amounts of freed space may not
be automatically trimmed.

答え2

このコマンドを使用して、トリムを含むプール [tank] で要求された io を表示します。

zpool iostat -r [tank]

関連情報