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


24

Я знаю, что файловые системы Windows очень чувствительны к фрагментации, а Unix, такие как UFS, ZFS, ext3 или ext4, не так чувствительны.

Но есть ли причина дефрагментировать эти файловые системы?

Если да, какие инструменты для этого доступны?


Большинство файловых систем mornern в целом не требуют ручной дефрагментации. Это включает в себя ext3, NTFS, UFS и другие.
Крис С

3
Крис, я не могу комментировать других, но NTFS наверняка выиграет от дефрагментации. Это значительно уменьшает головную боль, вызванную фрагментацией, и, как следствие, уменьшает время отклика.
Джон Гарденье

@JohnGardeniers Каждая ФС, которая поддерживает фрагментацию, получит выгоду от дефрагментации. Но в этом нет необходимости, и снижение производительности из-за фрагментации ограничено по сравнению со старыми файловыми системами.
Крис С

Ответы:


15

Цитировать страницу Википедии о файловой системе Ext3

Современные файловые системы Linux поддерживают минимальную фрагментацию, сохраняя все блоки в файле близко друг к другу, даже если они не могут быть сохранены в последовательных секторах. Некоторые файловые системы, такие как ext3, эффективно выделяют свободный блок, ближайший к другим блокам в файле. Поэтому не нужно беспокоиться о фрагментации в системе Linux.


Фрагментация складывается, хотя .. Я пытаюсь встряхнуть, как предложено Гертом ниже.
синеватый

9

На самом деле NTFS не так чувствительна к фрагментации. NTFS значительно лучше, чем FAT32 - во всех отношениях - и является полностью современной файловой системой.

Я использую Linux дома с 1996 года и никогда не дефрагментировал ни одну файловую систему. У меня никогда не было необходимости. Самое большее, что я сделал в этом направлении, это уделил внимание типам файлов, которые я буду помещать в файловую систему, и использую соответствующие параметры, когда я mkfs. Например, если файловая система будет в основном содержать большие файлы, я буду использовать блок большего размера. Если я создаю огромную файловую систему, но знаю, что в ней никогда не будет более 1 000 000 файлов, тогда я воспользуюсь -N 1000000опцией, чтобы ограничить число inode. В общем, я настрою файловую систему при ее создании под ее задачу, если файл определенного типа будет заполнять ее.


6

Вам не нужно дефрагментировать нет. Но если вы все еще хотите это сделать, вы всегда можете использовать Shake .


3

В то время как ext2 и ext3 этого не обеспечивают (и, как правило, нуждаются в этом меньше, поскольку они, во-первых, сохраняют файлы относительно вместе), ext4 обеспечивает дефрагментацию . В этой статье рассказывается о программе e4defrag. Но ext4 - это новая файловая система.

Однако, по сравнению с Windows, файловые системы Linux намного лучше не фрагментируются, поэтому я не стал бы беспокоиться об этом.


1
ext2 и ext3 могут быть дефрагментированы. Им просто не нужно это в нормальных условиях.
Эдди

имейте в виду, что Windows FS тоже не нужно было дефрагментировать - NT3.51 раньше выделял пространство с обеих сторон блоков, как это делает ext3, но затем MS почему-то отменил это в NT4.
gbjbaanb


1

Единственная веская причина для дефрагментации файловой системы Linux - сокращение виртуальных жестких дисков.

Обнуление неиспользуемого пространства, дефрагментация и сжатие виртуального диска из менеджера виртуальных машин.


1

Вы можете дефрагментировать файловую систему XFS (используя xfs_fsr [dev|file]) и btrfs (используяbtrfs filesystem defragment [file]

Что касается всех остальных, просто убедитесь, что у вас есть как минимум 80% свободных или несколько десятков гигабайт (в зависимости от того, что меньше), и вам не следует беспокоиться о дефрагментации.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.