LINUX.ORG.RU
ФорумTalks

Легенды и мифы ext4

 , ,


0

1

Снова к мифу об отсутствии фрагментации на линукс FS'es.

Создал раздел на 120GB с default параметрами, скопировал на него около десяти тысяч файлов (размером от 300 байт до 600MB, средний размер файла 30MB) - запустил e2fsck для просмотра фрагментации - о Боже:

     2341 non-contiguous files (19.8%)

Файлы копировались подряд, одной программой (cp -a source /mnt/dst).

К счастью, ребята из MC реализовали мой feature request по поводу fallocate, и с этой опцией после копирования фрагментация составляет 0%.

Используйте Preallocate space в Midnight Commander (кроме vfat и ntfs-3g - там оно как-то странно работает).

★★★★★

А как сильно влияет на скорость копирования эта опция?

firestarter ★★★☆
()

О! Бирди!

J ★★★★★
()

А на SSD на фрагментацию пофигу

xorik ★★★★★
()

запустил e2fsck для просмотра фрагментации - о Боже:

2341 non-contiguous files (19.8%)

А тесты, тесты где?

Deleted
()

Снова к мифу об отсутствии фрагментации на линукс FS'es

ТС, этот миф покрылся мхом 100500 лет назад, как, собственно, и ты сам :)

Kindly_Cat
()

Учитывая, что скоро мы поголовно перейдем на SSD, о фрагментации можно в принципе не беспокоится.

trex6 ★★★★★
()

Вопрос из зала: насколько сильно эти 20% повлияли на производительность?

leave ★★★★★
()

ладно, будем использовать. нужно как-то особо включать в мс?

crypt ★★★★★
()

размером от 300 байт до 600MB, средний размер файла 30MB
2341 non-contiguous files

Если файл в 32 метра развалится на два куска по 16, то что от этого изменится в плане скорости?

shahid ★★★★★
()
Ответ на: комментарий от shahid

А для btrfs есть точные данные по кол-ву кусков?

gag ★★★★★
()

Preallocate space ээ, как его использовать то?

darkenshvein ★★★★★
()

О, вспомнил, что когда-то давно читал, дефрагментатора нет, т.к. не нужен. Не в смысле, что происходит чудо, а в смысле, что просто взял mv туда, потом обратно и всё. Выходит, что и этот факт оказывается мифом. Вот этого не ожидал.

gag ★★★★★
()
Ответ на: комментарий от quickquest

они дешевеют

Слишком медленно. К тому времени как они нормально подешевеют, уже эра облачных хранилищ наступит. Системы будем грузить прямо с серверов Canonial, приложения тоже будем запускать напрямую с их серверов, хомяк будет храниться тоже там, в one.ubuntu.com.

firestarter ★★★☆
()
Ответ на: комментарий от quickquest

Пусть дальше дешевеют. Надеюсь, что в следующем моем ссд цена за гигабайт будет стоить вменяемых денег.

cipher ★★★★★
()
Ответ на: комментарий от firestarter

Ну и щикарно, а мы будем пользоваться локальными SSD.

Kindly_Cat
()

Ага, так в coreutils уже было направлено предложение. Только что-то результата не видно.

gag ★★★★★
()
Ответ на: комментарий от aptyp

Второе видимо исправлено.

Нет, современные mlc ячейки обладают в разы меньшим ресурсом, чем предыдущие поколения. Удешевление за счёт этого и идёт. Другое дело что проблема изначально существовала практически эксклюзивно в головах анонимных аналитиков.

aidaho ★★★★★
()
Ответ на: комментарий от aidaho

Нет, современные mlc ячейки обладают в разы меньшим ресурсом, чем предыдущие поколения. Удешевление за счёт этого и идёт. Другое дело что проблема изначально существовала практически эксклюзивно в головах анонимных аналитиков.

Я для своего SSD прикидывал, что при моей интенсивности использования он исчерпает гарантированный ресурс перезаписи через 45 лет. При этом статистически я умру раньше. :) Ну а перестраховщики пусть продолжают бояцца и ждать.

Relan ★★★★★
()
Ответ на: комментарий от Relan

Я для своего SSD прикидывал, что при моей интенсивности использования он исчерпает гарантированный ресурс перезаписи через 45 лет.

С ext4 прикидывать вообще стало проще пареной репы: tune2fs сообщает время создания фс и объём записи на неё. Правда умножить/поделить для многих задача непосильная, что подтверждается стабильным потоком тем и сообщений на тему «ssd-капец».

aidaho ★★★★★
()

Файлы копировались подряд, одной программой

любопытно. Интересно чем можно объяснить фрагментацию. По-идее, даже если файлы зависли в кэше для них всё равно выделяется блок на диске. Я бы грешил именно на этот механизм.

true_admin ★★★★★
()
Ответ на: комментарий от gag

Знать бы, что на 2, а не на 32 куска, а то и более.

Я как-то написал небольшую утилиту. По идее под linux'ом может работать с любой ФС. Достоверность результата не гарантирую 8).

Deleted
()

В который раз повторюсь: это счётчик фрагментированных файлов, т.е. фрагментирован может быть только 1 файл и оно будет тешить вас 0.01% non-contiguous, но побит он будет на 10000+ частей - и тут уже никакое самовнушение не поможет против тормозов. Правильнее сравнивать общее число файлов с числом фрагментов. Что же до баек про «SSD всё равно»: в ext4, напомню, екстентная запись, т.е. при отсутствии фрагментации - это сильно экономит метаданные, а вот в противном случае (если взять наихудший вариант, к примеру) - требует _в разы_ больше метаданных (читай - больше операций чтения/записи, меньше полезного места) /thread

frame ★★★
()
Последнее исправление: frame (всего исправлений: 2)

shake пробовал, работает. На глаз никакой разницы не заметил.

crunchy_crow
()

спользуйте Preallocate space в Midnight Commander (кроме vfat и ntfs-3g - там оно как-то странно работает).

А как оно будет работать, если целевой файл уже существует, но имеет меньший / больший размер? Не ухудшит ли это ситуацию?

andreyu ★★★★★
()
Ответ на: комментарий от tazhate

когда-то давно читал, дефрагментатора нет

4.2, он есть и давно.

«давно» - понятие относительное.

gag ★★★★★
()
Ответ на: комментарий от tazhate

2006 это да, недавно совсем.

Я о 2001..2003 говорил, когда начал пересаживаться, и одним из первых сюрпризов было отсутствие дефрагментатора, а ж.д. ох как головками стучали-скрежетали.

gag ★★★★★
()
Ответ на: комментарий от gag

Я о 2001..2003 говорил, когда начал пересаживаться, и одним из первых сюрпризов было отсутствие дефрагментатора, а ж.д. ох как головками стучали-скрежетали.

Ужас какой :)

tazhate ★★★★★
()
Ответ на: комментарий от Deleted

Я как-то написал небольшую утилиту. По идее под linux'ом может работать с любой ФС.

Кстати, filefrag -v тоже показывает положения и размеры блоков. Но у тебя форматирование лучше. Когда есть только FIBMAP, вывод filefrag тяжело читать.

i-rinat ★★★★★
()
Ответ на: комментарий от kss

С моей точки зрения фрагментацию стоит оценивать по влиянию на производительность чтения. Берём окно, двигаем его по файлу и считаем в нём время чтения. Максимальное значение делим на время линейного чтения. Чем больше получилось, тем хуже.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.