Что такое дефрагментация файловых систем

Главная Мой компьютер Диагностика компьютера Что такое дефрагментация файловых систем
6 ответ(ов) в теме
moto
не в сети 3 часа
На сайте с 12.03.2017
Администратор
Тем 3410
Сообщения 13604
0
20:21

Дефрагментация файловых систем

Рано или поздно в процессе работы с компьютером файлы, хранящиеся на винчестере, подвергаются фрагментации. Для упорядочивания врагментов файлов созданны разнообразные утилиты, так называемые - дефрагментаторы.

Фрагментация:
Возникает в результате фрагментации дискового пространства: так как на диске отсутствуют последовательные свободные блоки, то новые файлы невозможно записать целиком в одном месте, их приходится делить на фрагменты и записывать в разных частях диска, что замедляет чтение этих файлов и снижает общую производительность файловой системы. Более того: во многих файловых системах (например FAT32) начало файла записывается в начало кластера, следовательно, если сам файл или его часть по объёму меньше размера кластера, то оставшееся место в кластере остается неиспользованным. Поэтому фрагментированность диска обратно пропорциональна эффективности использования его пространства.

Для ее визуальной оценки в операционной системе Windows есть множество утилит, причем одна из них встроена в Windows. Для оценки фрагментации файлов в операционной системе Linux лично я использую следующий скрипт:
#!/usr/bin/perl -w <br><br>#this script search for frag on a fs <br><br>use strict; <br><br>#number of files <br><br>my $files = 0; <br><br>#number of fragment <br><br>my $fragments = 0; <br><br>#number of fragmented files <br><br>my $fragfiles = 0; <br><br>#search fs for all file <br><br>open (FILES, "find " . $ARGV[0] . " -xdev -type f -print0 |"); <br><br>$/ = ""; <br><br>while (defined (my $file = )) { <br><br> open (FRAG, "-|", "filefrag", $file); <br><br> my $res = ; <br><br> if ($res =~ m/.*:s+(d+) extents? found/) { <br><br> my $fragment = $1; <br><br> $fragments += $fragment; <br><br> if ($fragment > 1) { <br><br> $fragfiles++; <br><br> } <br><br> $files++; <br><br> } else { <br><br> print ("$res : not understand for $file.n"); <br><br> } <br><br> close (FRAG); <br><br> } <br><br>close (FILES); <br><br>print ( $fragfiles / $files * 100 . "% non contiguous files, " . $fragments / $files . " average fragments.n");

Называем его, к примеру - fragment.pl , назначаем права на исполнение sudo chmod +x defragment.pl и запускаем:

sudo ./defragment.pl /home
В данном случае скрипт проверит на фрагментацию всю домашнюю директоори, включая всех зарегестрированных в системе юзеров.

Результат:

1.20556827750104% non contiguous files, 1.03430203734743 average fragments. Фрагментация файлов присутствует, но она ничтожна, особенно если учесть что оспользуется компьютер чуть больше полугода.

Исходя из личного опыта могу сказать что процесс дефрагментации в ОС Windows нужен как воздух, потому как файловые системы FAT, FAT32, NTFS мало защищены от фрагментации файлов, поэтому произведенная дефрагментация (хотя бы раз в месяц) не будет лишней.
Но вот в Linux фрагментация как таковая практически сведена к нулю, файловые системы Ext3, RaiserFS и другие более защищены от фрагментации, даже можно сказать больше — они на программном уровне не допускают фрагментации данных. Для тех кто все же решился провести дефрагментацию своего жесткого диска советую скачать бесплатную утилиту для дефрагментации файлов созданную специально для проведения дефрагментации данных в операционной системе Windows.

Редакции сообщения
0
ИльяСин
не в сети давно
На сайте с 19.06.2014
Участник
0
09:00

Лично я не раз в месяц, но раз в квартал точно, обязательно провожу дефрагментацию жесткого диска, особенно если устанавливал/удалял программы. Не скажу что система намного быстрее работает, но разница чувствуется всё равно.

Редакции сообщения
0
MPHouse
не в сети давно
На сайте с 24.12.2014
Участник
0
16:47

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

Редакции сообщения
0
Noda
не в сети давно
На сайте с 11.12.2014
Участник
0
11:30

При сильной фрагментации файлов на диске, считывание данных с него замедляется из-за того, что головкам диска требуется время на перемещение по его поверхности для считывания/записи разных фрагментов одного файла, разбросанного по частям по всему диску. Это ускоряет износ диска.

Поэтому время от времени следует проводить дефрагментацию, но не слишком часто, так как сама дефрагментация также подвергает диск большой нагрузке. Дефрагментировать лучше специальными утилитами типа Defraggler или Auslogics Disk Defrag, так как они позволяют не только дефрагментировать файлы, но и перемещать часто используемые в начало диска, что ускоряет их чтение. Кроме того они в отличие от стандартной утилиты Windows могут производить дефрагментацию во время работы пользователя с компьютером.

Редакции сообщения
0
ReNe23
не в сети давно
На сайте с 27.11.2014
Участник
0
17:10

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

Редакции сообщения
0
Леонид
не в сети давно
На сайте с 08.02.2015
Участник
0
18:49

ИльяСин сказал(а)

Лично я не раз в месяц, но раз в квартал точно, обязательно провожу дефрагментацию жесткого диска, особенно если устанавливал/удалял программы. Не скажу что система намного быстрее работает, но разница чувствуется всё равно.

Раз в квартал или в месяц мне кажется, что маловато будет. Для того чтобы узнать проводить ли чаще дефрагментацию можно использовать стандартную Виндовскую утилиту. Включить ее и нажать на кнопку «Анализ» и посмотреть на разброс занятого пространства.

Редакции сообщения
0

Ваше имя *

Ваш E-mail *

не публикуется

Текст сообщения *