Я запустил тест ДЛЯ ОБРЕЗКИ, предложенный frostschutz, и также нашел здесь. Файл результата 1 МБ высоко фрагментируется. Как это может быть?
Мой и только устройство хранения /dev/sda
SSD Samsung 500GB. Это "ДЛЯ ОБРЕЗКИ ГОТОВО", и ядро идет fstrim
исполняемый файл в /etc/cron.weekly
. Я, тем не менее, хотел запустить тест, скажем, из любопытства. Тест произвел файл 1 МБ, trim.test, заполненный y
альфа-символ.
После создания файла я проверил точную позицию файла по диску:
> cd /
> yes | sudo dd iflag=fullblock bs=1M count=1 of=trim.test
> sudo filefrag -s -v trim.test
Filesystem type is: ef53
Filesystem cylinder groups approximately 177
File size of trim.test is 1048576 (256 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 15: 2816076.. 2816091: 16: merged
1: 16.. 31: 170064.. 170079: 16: 2816092: merged
2: 32.. 63: 170848.. 170879: 32: 170080: merged
3: 64.. 127: 168269.. 168332: 64: 170880: merged
4: 128.. 255: 170112.. 170239: 128: 168333: merged,eof
trim.test: 5 extents found, perfection would be -1 extent
Это повторяется, если я стираю файл и повторяю процедуру. Как файл 1 МБ может быть так в большой степени фрагментирован?
После отслеживания вокруг и чтений по вопросу ОБРЕЗКИ и фрагментации, отвечая на мой собственный вопрос мог бы помочь другим.
Чтение о частых ссылках ДЛЯ ОБРЕЗКИ на фрагментацию файла сделано. Обоими аспектами является источник законных вопросов о производительности хранилища SSD, однако 2 проблемы отличны.
Во время Wops SSD ведут себя вполне по-другому по сравнению с жесткими дисками. Жесткому диску никогда не будет нужно стирание блока до Wop. SSD всегда делает и это является трудоемким. ОБРЕЗКА помогает облегчить то потребление времени путем предварительного создания условий недавно освобожденных блоков на СПОСОБНОМ К ОБРЕЗКЕ SSD, по существу путем предварительного стирания блоков, которые освобождены после того, как файл был изменен и переместился в другую область объема. Это - упрощенное представление действительности, но тот, на который пользователь неспециалиста может примерно полагаться, чтобы начать принимать решение относительно аппаратного администрирования аппаратного уровня и низкого уровня. Продолжать читать...
ОБРЕЗКА связана с фрагментацией SSD?
- Короткий ответ: Нет, они не связаны.
- Длинный ответ: Фрагментация связана с выравниванием износа (WL), еще одним процессом, который оптимизирует продолжительность жизни SSD. WL важен для гомогенизации Wops по свободному/доступному/незарезервированному пространству блока целого SSD в объеме/разделе. Это делает так, потому что каждый Wop делает возраст ячеек соответствующего SSD, через приложение относительно большого напряжения по крошечной области полупроводникового слоя, таким образом, уменьшая его продолжительность жизни. (Я верю, это имеет отношение к тепловым вызванным дефектам, представленным в объеме SSD, но это вне темы.)
Если бы Wops управляли на SSD, как они находятся на жестких дисках, определенные области носителя износились бы задолго до других, ведя к недействующим блокам, потере способности, потере данных и ошибок. WL на самом деле гарантирует, что все блоки в разделе любого данного SSD подвергаются тому же количеству Wops и что износ "выровнен" по доступному пространству раздела всего SSD. В этом смысле это эффективно увеличивает продолжительность жизни SSD при поддержании его полной мощности до его упадка.
Существует два режима WL: статичный и динамичный. Эта Wiki (на немецком языке) указывает, что количества цикла записи в конце SSD жизни могут увеличить 100 сгибов для помех и 25 сгибов для динамического WL по сравнению с теми же аппаратными средствами с выключенным WL.
Поскольку WL физически распределяет Wops (ограничивающий параметр, который определяет продолжительность жизни SSD), как однородно как возможный по пространству памяти всего SSD в разделе, это будет неизбежно способствовать своей фрагментации данных. Это делает так для достижения его главной цели оптимизированного распределения записанных блоков всюду по разделу любого данного SSD. Внедрение - то, что любой файл, хранивший на SSD, может быть фрагментирован вполне немного больше, чем он был бы на традиционном жестком диске. Фрагментация однако не переводит ни в каком снижении производительности для SSD.
То, как WL работает, имеет другие заключения: чем больше объем SSD, тем больше его продолжительность жизни для данных условий использования. Для пользователя "условия использования" означают, прежде всего:
- сумма использованного пространства на разделе SSD и
- Частота Wop, т.е. как в большой степени полученный доступ записью носитель.
Это на самом деле может говорить в пользу:
- помещая подкачку lx, / домой,/tmp и / var на жестком диске, в то время как остальная часть ОС может жить на счастливо на меньшем SSD.
- не создание любых разделов с большим количеством Wops, слишком небольших на SSD. Например, если подкачка должна быть на SSD, и Вы читаете, что lx-подкачка лучше всего установлена в два раза Ваш размер DRAM, сделайте его 4 раза. Я не знаю, является ли моя арифметика правильной, но общее представление состоит в том, что это будет также более или менее дважды Ваша продолжительность жизни области подкачки. Если Вы проводите большую операцию, которая требует свопинга (серверы с тяжелым использованием, DB, и т.д.), думают о перемещении Вашей подкачки и/tmp на жесткий диск, если Вам не нравится идея взять газовую горелку к Вашему SSD, конечно.
Между тем ОБРЕЗКА готовит блоки SSD к любому предстоящему новому Wop. Это предварительные условия однажды записанные ячейки для нового Wop путем стирания тех ячеек (на самом деле операция происходит на уровне блока), и начинающий сборку "мусора" при необходимости. В том смысле ОБРЕЗКА следит за картой распределения недавно освобожденного (и по крайней мере когда-то используемый) блоки, поскольку они - низкий уровень, управляемый контроллером WL.
Заключение:
HTH.