fstrim выравнивает более половины размера раздела, даже если раздел монтируется с отбрасыванием

Когда я установил свой SSD, я просто смонтировал его и не потел. Однако сегодня я читал о плюсах и минусах использования 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 

Последующие пробеги заканчиваются менее чем за секунду, например:

 $ 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 – это TOSHIBA THNSNS256GMCP. Почему это происходит?

One Solution collect form web for “fstrim выравнивает более половины размера раздела, даже если раздел монтируется с отбрасыванием”

Две вещи здесь:

  1. fstrim обрезает все данные, которые нераспределены в файловой системе (ну, не все данные, только блоки данных, которые не выделены, я не думаю, что неиспользуемые части таблицы inode или части не полностью используемых блоков обрезаются), независимо от того, используется ли discard или нет. fstrim не может знать, какой из этих нераспределенных блоков был «обрезан» или еще не был в прошлом, но он (на самом деле ядро, вся работа fstrim выполняется в FITRIM ioctl ), однако отслеживает, какая группа блоков была обрезана и не будет обрезать их снова, если с тех пор не было никакого освобождения в этой группе блоков, если вы не запрашиваете FITRIM с меньшей минимальной длиной (от проверки кода ext4, это может быть другим для других файловых систем), которое объясняет, почему вы получаете 0 при следующем запуске.

    Обратите внимание, что это не вредит обрезке блока, который уже был обрезан. Это просто говорит SSD, что он может делать все, что захочет, с ним (например, стереть его, чтобы он мог быть готов снова использовать что-то еще).

  2. В выводе df «доступное» значение не учитывает пространство, зарезервированное для root , вы заметите, что 206 – 76 – 130G, а не 118G. 12G (около 5%) зарезервированы. См. tunefs -m чтобы изменить, сколько зарезервировано.
  • Есть ли TRIM на Samsung 840 Pro с версией прошивки DXM06B0Q?
  • Обрезка с LVM и dm-crypt
  • Будет ли форматирование моего диска TRIM моим SSD?
  • Почему fstrim обрезает все свободное пространство на моем зеркале mdraid после перезагрузки?
  • Невозможно включить TRIM на SSD
  • Interesting Posts

    Почему, когда я нажимаю blok num, мой linux записывает на диск?

    Как я могу узнать, почему я не могу подключиться к WLAN?

    Проблемы с GPG при выпуске с Leiningen

    Поддержка OpenBSD SMP

    azap от LinuxTV dvb-apps странное поведение сигнала с Hauppauge WinTV-HVR 950Q

    Разрешить пользователю запускать команду с аргументами (которая содержит пробелы)

    Одиночное DRM Удаление для личного использования

    Развертывание образов файловой системы на раздел произвольного размера

    Включить тип файловой системы 9p в виртуальном гостевом доме Centos 6?

    Как возобновить видеоролики YouTube в VLC?

    Параллельный запуск нескольких копий одного и того же файла с разными входами с использованием сценария оболочки

    Удалить символ между двумя известными строками

    Ожидание двух событий

    Высокое использование прерываний IO-APIC-fasteoi eth0

    При подключении через OpenVPN к моему VPS, как я могу перенаправить веб-трафик на Privoxy

    Linux и Unix - лучшая ОС в мире.