Пълно дефрагментиране под Windows Vista

За добро или лошо най-бавната част в днешните персонални компютри е твърдият диск. Това е така защото той в по-голямата си част е изграден от механични движещи се части, които е нормално да изостават по производителност от електроника работеща на честоти често над 1GHz. Естествено в скоро време те ще бъдат заменени от SSD твърди дискове, които ги превъзхождат по параметри и производителност, но са твърде скъпи за масовия компютърен потребител. Една добра статия, за това как работят се намира тук

Другото слабо място (най-вече в Windows OS) е файловата система или иначе казано набор от файлове, структурирани по някакъв начин и съхранени върху някакъв носител. Макар и Windows Vista да се инсталира по подразбиране на NTFS, която е една стъпка напред в сравнение с FAT, при продължително ползване, особено когато свободното пространство намалява файловете се фрагментират и това забавя цялата система.

За да  се разбере защо е нужно да се дефрагментира файловата система ще разгледам някои основни понятия. Когато се форматира даден логически дял в процеса на форматиране той се разделя на сектори с големина 512 байта. Тези сектори се групират в клъстери. Клъстерът от своя страна е най-малката секция, налична за съхранение на файл или част от файл. Много пъти съм чувал и чел, че подразбиращата се големина на клъстера при NTFS е 4кб. Това не е така и за да не каже някой, че си правя свободни съченения може да провери тук. Всъщност големината на клъстера зависи от големината на логическия дял. При форматиране може да се зададе големината на клъстера до 64кб като по този начин е възможно да се постигне малко по-голяма производителност. В следната таблица е дадена големината на клъстера в зависимост от големина на логическия дял, когато е форматиран в NTFS:

-------------------------------------------------------------------------------------------
| Големина на дял                     | Големина на клъстер    | Брой сектори   |
-------------------------------------------------------------------------------------------
| 512МБ или по-малко             |             512 байта                 |              1                 |
-------------------------------------------------------------------------------------------
| 513МБ - 1024МБ                       |                   1КБ                        |              2                 |
-------------------------------------------------------------------------------------------
| 1025МБ - 2048МБ                    |                   2КБ                       |              3                 |
-------------------------------------------------------------------------------------------
| над 2048МБ                                |                   4КБ                       |               4                 |
-------------------------------------------------------------------------------------------

Ако разполагаме с файлова система форматирана с големина на клъстера 4кб и искаме да съхраним на нея файл с големина 10 МБ, тогава файлът ще бъде разделен на приблизително 2500 части. Ако дялът е форматиран скоро, тогава информацията ще се запише на съседни клъстери. В този случай ефиктивността на работа е висока, защото информацията е разположена по начин подходящ за оптималната работа на механичните части на диска (при високооборотните дискове положението е малко по-различно).До тук всичко звучи добре, нали ? Проблема е там, че диска не остава дълго време в това си състояние. Например когато се добавя информация към съществуващ файл, файловата система трябва да разпредели допълниелни клъстери, а  типично те не са физически съседни. Друг пример: когато се трият файлове се получават празни пространсва между подредените до този момент физически съседни файлове. Когато се записват нови файлове (особено когато са големи) се използват тези свободни пространства и така се разпокъсват на много и отдалечени места. Това се нарича "фрагментиран диск" и производителността се губи, защото минава дълго време докато се позиционират главите на твърдия диск и прескачат от клъстер на клъстер.

Какво представлява дефрагментирането ? - най-просто казано: подреждане на файловете на възможно най-близки или съседни клъстери. В Windows Vista е налична дефрагментираща програма (т. нар. дефрагментатор), която може да се настрои да се пуска автоматично на заден план и с по-нисък приоритет. Също така бях учуден когато пуснах дефрагментатора - вече няма графична визуализация на състоянието на файловата система. Затова реших освен GUI версията да пробвам и програмата за команден ред с надеждата да открия повече опции и точно така стана. След стартиране на command promt написах 'defrag c: -a', но в командния ред се появи съобщение, че за да стартиртирам дефрагментатора са ми нужни административни привилегии. Сега след като прочете, че съм се опитал да пусна дефрагментатора от потребител с администраторски права и отново се появи това съобщение вероятно ще се учудите. Причината за това е, че във Vista приложенията се пускат с потребителски привилегии, освен ако администраторът не е променил това или приложението не се пусне ръчно като администратор. Целта е повишаване на сигурността, но това е отделна тема. За да се пусне дефрагментатора от кондния ред е нужно cmd или command prompt да се стартират с избиране на "Run as administrator" от изкачащото меню  при натискане на десния бутон на мишката или с натискане на десен SHIFT+ENTER. Това са опциите, които са възможни и обяснение защо инструмента за команден ред е по-добър от визуалния:

  • -c: дефрагментира всички логически дялове на компютъра, които са на FAT или NTFS. Затова на този параметър не се задава устройство.
  • -а: анализира състоянието на файловата система.
  • -r: частично дефрагментра дяла. Това е параметърът по подразбиране, както за графичния дефрагментатор, така и за визуалния. При него се подреждат само фрагменти на файлове с големина до 64МБ. Затова е добра идея да се ползва инструмента за команден ред с параметър за пълно дефрагментиране.
  • -w: цялостно подреждане на дяла, независимо от големината на файловете и фрагментите.
  • -f: форсира подреждането, ако свободното пространство е по-малко от 15%. При отсъствието на този параметър и споменатото свободно място дискът ще остане фрагментиран. Тази опция отсъства във визулния инструмент и дефрагментирането ще се осъществи, само ако  се освободи нужното пространство и програмата се стартира отново.
  • -v: допълнителна информация.
  • -?: извежда помощна информация.
  • -i: дефрагментаторът се стартира във фонов режим и работи само тогава, когато компютърът е не е натоварен с тежки изчисления или не се използва.
  • -b: оптимизира само файловете и програмите, които се зареждат при стартиране на Windows.

Синтаксис:

defrag <логически дял>  <параметър1> <параметър2> ...

Примери:

defrag c:
defrag c: -w -f
defrag c: -a -v
defrag -c -v


Накрая няколко съвета:

  • Изчистете от кошчето ненужните изтрити  файлове преди да започнете дефрагментирането.
  • Пуснете "disk cleanup" и изтрийте всичко, което  смятате за ненужно (преди дефрагментиране).
  • Проверете диска за грешки с chkdsk.exe (също преди дефрагментиране).
  • Използвайте опцията '-w'.
  • Ако не ви харесва тази програми използвайте друга. Например безплатната и с отворен код JkDefrag.

Няма коментари: