Проект

Общее

Профиль

Действия

Trim

Поиск устройств, поддерживающих discard

grep -lwv 0 /sys/block/*/queue/discard_max_bytes | cut -d / -f4

Поиск устройств, поддерживающих discard через lsblk

lsblk -o NAME,TYPE,FSTYPE,DISC-MAX

Для устройств с поддержкой discards значение DISC-MAX должно отличаться от ноля.

Проверка что SSD диск поддерживает TRIM

hdparm -I /dev/sda

вывод

       *    Data Set Management TRIM supported (limit 1 block)
       *    Deterministic read data after TRIM

Начальная поддержка discard появилась в ядре 2.6.28
Поддержка discard для swap появилась в ядре 2.6.29
Поддержка discard для btrfs появилась в ядре 2.6.32
Поддержка discard в libata (SATA driver library) появилась в ядре 2.6.33
Поддержка discard для ext4 появилась в ядре 2.6.33
Поддержка discard для vfat появилась в ядре 2.6.33
Поддержка discard для device-mapper (delay, linear, mpath, stripe) появилась в ядре 2.6.36
Поддержка discard для ext4(без журнала) появилась в ядре 2.6.36
Поддержка secure discard (1) появилась в ядре 2.6.36
Поддержка batched discard (2) для ext4 появилась в ядре 2.6.37
Поддержка batched discard (2) для ext3 появилась в ядре 2.6.38
Поддержка discard для dm-mirror появилась в ядре 2.6.38
Поддержка batched discard (2) для xfs появилась в ядре 2.6.38
Поддержка discard на уровне блочного устройства появилась в ядре 3.0
Поддержка discard для xfs появилась в ядре 3.0
Поддержка discard для loop устройств появилась в ядре 3.2
Поддержка discard для dm-thin устройств появилась в ядре 3.4
Поддержка подключения discard на лету для ext4(без журнала) появилась в ядре 3.7
Поддержка async discard для swap появилась в ядре 3.12
Поддержка discard для dm-raid (1,10,4,5,6) появилась в ядре 3.18
Поддержка batched discard (2) для f2fs появилась в ядре 3.18
Ускорение discard для dm-cache и dm-thin появилось в ядре 3.19

Источники:
https://clusterbuffer.wordpress.com/2011/10/02/how-do-you-know-trim-is-working-with-your-ssd-in-your-system/
http://kernelnewbies.org/LinuxVersions

(1) - фича диска, позволяющая гарантированно удалить все копии discard блока (реализуется прошивкой диска)
(2) - discard выполняется одним ioctl() вызовом возвращая размер высвобожденного места.

LVM 2.02.85

Утилита fstrim
util-linux 2.19

Утилита blkdiscard
util-linux 2.23

Обновлено Андрей Волков около 8 лет назад · 3 изменени(я, ий)