Нужно ли дефрагментировать файловые системы ext4?

43

Есть ext4файловые системы необходимо выполнить дефрагментацию? Если да, то как мне их дефрагментировать?

Если нет, не могли бы вы опубликовать простое объяснение, почему их не нужно дефрагментировать?

BenjiWiebe
источник
4
Если вам так интересно, как вам кажется, возможно, эта статья будет интересна в отношении этого: Проект Fedora , конкретно начиная со страницы 179 (которая действительно является страницей 3)
nerdwaller
@nerdwaller Интересно, хотя и немного углубленно для меня, чтобы полностью понять.
BenjiWiebe
1
Смежный вопрос по Ask Ubuntu: почему не нужна дефрагментация? где текущий принятый ответ:The underlying filesystems used by Ubuntu, like ext2 and ext3, simply don't need defragmenting because they don't fragment files in the same way as NTFS. There are more details athttp://en.wikipedia.org/wiki/Ext3#Defragmentation.
Прорыв

Ответы:

30

Есть ext4файловые системы должны быть дефрагментацию?

Да (но очень редко)

Если да, то как мне их дефрагментировать?

Скопируйте все файлы из раздела, сотрите файлы из раздела, затем скопируйте файлы обратно в раздел. Файловая система будет разумно распределять файлы, когда вы копируете их обратно на диск.

Если нет, не могли бы вы опубликовать простое объяснение, почему их не нужно дефрагментировать?

ext4действует более разумно, чем просто добавление новых файлов в следующее доступное пространство. Вместо того, чтобы размещать несколько файлов рядом друг с другом на жестком диске, файловые системы Linux разбрасывают разные файлы по всему диску, оставляя большое количество свободного пространства между ними. Когда файл редактируется и должен расти, обычно для этого файла достаточно свободного места. Если фрагментация все же происходит, файловая система попытается переместить файлы, чтобы уменьшить фрагментацию при обычном использовании, без необходимости использования утилиты дефрагментации.

Благодаря комментарию @Green Reaper мое внимание было обращено на e4defrag .

pnuts
источник
Таким образом, нет программного обеспечения для дефрагментации по требованию?
BenjiWiebe
9
Ссылка на источник, который вы копируете / вставляете, никогда не ранит ...;) howtogeek.com/115229
Кристоф Л
4
Инструмент, известный как e4defrag, может быть использован для дефрагментации ext4. Он предоставляется e2fsprogs на большинстве дистрибутивов. ext4 также пытается избежать фрагментации , но это не всегда успешно.
GreenReaper
Есть ли способ просмотреть процент фрагментированных файлов?
Аарон Франке
Помните, что e4defrag дефрагментирует только файлы, а не свободное место. Если ваше свободное пространство фрагментировано, то e4defrag не будет работать хорошо, потому что нет непрерывного пространства для перемещения файлов.
JLH
19

Я использую раздел ext4 больше года. У меня часто не хватало места, я перемещал много файлов внутрь и наружу и т. Д. И т. Д. ... это плохо для фрагментации, и вчера я впервые проверил фрагментацию, и только 2 файла (не%, только два файла) были фрагментированы ,

В разделе Windows, который использовался около года с гораздо большим количеством свободного места, у меня 95% фрагментации.

Так что нет, вам действительно не нужно дефрагментировать ext4, и если вы хотите быть уверенным, оставьте свободное пространство по умолчанию для ext4 (по умолчанию 5%, может быть изменено ex2tunefs -m X).

zahjin
источник
1
Как вы проверяете фрагментацию?
Sparhawk
13
Если у вас есть файловая система ext4, созданная с помощью этой extentопции (по умолчанию она используется в самых последних дистрибутивах), вы можете проверить ее фрагментацию с помощью e4defrag -c /path/to/checkи дефрагментировать ее, не монтируя с помощью e4defrag /path/to/check. Но если у вас достаточно свободного места, вам не нужно этого делать.
герлос