SSDを取り付けたとき、マウントしただけでdiscard
発汗しませんでした。しかし、今日私はfstrim
代わりに使用することの長所と短所について読んでいて、実際にかかる時間を知るためにプログラムを実行することを決めました(パーティションをでマウントしたままdiscard
)。このコマンドは、ルートパーティションとホームパーティションの両方で数分かかりました。私のホームパーティション-v
では、これを使用してこれを取得しました。
$ sudo fstrim -v /home
/home: 137494052864 bytes were trimmed
これは、パーティションの空き容量を超えています!
$ df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 206G 78G 118G 40% /home
後続の実行は1秒未満で終了します。例:
$ sudo fstrim -v /home
/home: 0 bytes were trimmed
確かに、パーティションを常にでマウントしていた場合discard
、fstrim
そのような大量のデータをトリミングしないでください。このdiscard
オプションは確実に有効になっています。関連するfstab
行は次のとおりです。
UUID=xxxxxxxx... / ext4 noatime,discard,errors=remount-ro 0 1
UUID=xxxxxxxx... /home ext4 noatime,discard,errors=remount-ro 0 2
そしてmount
出力行:
/dev/disk/by-uuid/xxxxxxxx... on / type ext4 (rw,noatime,discard,errors=remount-ro,stripe=128,data=ordered)
/dev/sda2 on /home type ext4 (rw,noatime,discard,errors=remount-ro,stripe=128,data=ordered)
SSDは東芝THNSNS256GMCPです。なぜこれが起こるのですか?
fstrim
すでに何がトリミングされているのかわからない場合、2回目に0バイトが報告されるのはなぜですか?確かにこれはディスクからのものである必要がありますが、それではなぜそのような大きなトリムが初めて報告されるのでしょうか?確かにディスクがいるかどうかに依存しないだろうdiscard
か、trim
使用されていました。