C, PHP, VB, .NET » Оптимизиране на система със SSD диск

6
Добави коментар
wattie
wattie

Компютърът ми вкъщи започна да се „влачи“ сериозно напоследък и ставаше все по-дразнещо. Нищо чудно, след като вече е на няколко години, а новия софтуер не прощава на производителността. Бях изправен пред дилемата да направя „голям ъпгрейд“ (което означава ново дъно, процесор и рам, защото старите са неизползваеми) или да направя нещо „по-хитро“. И мисля, че го направих – купих си ето този SSD хард диск:

Предимствата на SSD дисковете пред нормалните HDD са очевидни – по-дълъг живот, изключително по-бързи, напълно тихи, почти 0ms достъп до данните и по-студени. Естествено безплатен обяд няма и имат един голям недостатък – цената. На цената на този 60GB SSD на Corsair можех да си взема два обикновени HDD по терабайт. В случая обаче целта не беше увеличаване на дисковото пространство, а бързодействие. И беше постигната!

Тук искам да отбележа някои важни неща, които ще ви помогнат „да изтискате максималното“ от вашата система. Особено ако използвате като мен стар Windows (XP), то SSD диска стандартно няма да е толкова бърз, колкото би трябвало да е. Затова ето няколко важни съвета (повечето са валидни и за по-нови версии Windows). Следвайте инструкциите на свой собствен риск (за оплаквания от типа „ти ми прецака Windows-а“ не нося отговорност):

1. Включете AHCI преди инсталиране на Windows

Не казвайте, че не съм предупредил – проверете дали диска ви използва максималния възможен трансфер на SATA II порта, на който сте го включили. На по-старите BIOS това е опцията „enhanced“. На по-новите би трябвало да си има избор на AHCI. Ако не направите това, то Windows ще се инсталира използвайки стандартен ATA100/133 драйвер и после усилията ви да го смените (независимо какво е сложено в BIOS) ще бъдат големи и неприятни (най-лесното като, че ли е преинсталация).

2. Инсталирайте Windows и всички програми на SSD диска

Разумно е да сложите файловете си (филми, музика, документи) на стария HDD диск, а софтуера на SSD диска. Причината естествено е в големината на устройството (не сте решили да давате хиляди левове за огромен SSD диск, нали?). От SSD диска вие ще спечелите главно от изключително бързия достъп до файловете и високата скорост на четене. Това е важно при стартиране на програми и малко по-маловажно при четене на друга съхранена информация.

3. Направете си RAM Drive за temp файлове

SSD дисковете имат слаба производителност при запис на много и малки файлове (пак е по-бърз от HDD, но с малко). Поради тази причина е добре да преместите част от файловете на системата си на HDD или още по-добре на RAM Drive. Второто е препоръчително ако имате поне 2GB RAM или повече. Има всякакви програми за правене на RAM Drive – потърсете в търсачката. Отделете например 512MB (обикновено ще ви бъдат достатъчни). След това:

3.1. Преместете „temp“ директориите на Windows на RAM диска: дайте „properties“ на My Computer и после Advanced > Environment variables. На „temp“ и „tmp“ под „User variables“ сложете като стойност директория от RAM диска (например при мен R:\Temp). Направете същото за „temp“ и „tmp“ директориите от „System variables“;

3.2. Temporarily internet files (за Internet Explorer): отворете IE, отидете на Tools > Internet Options > Settings (под „Browsing History“). Натиснете на „Move Folder“ и изберете RAM диска. Задайте някаква разумна стойност от например 200MB. Имайте предвид, че използването на Temporarily Files за IE е НЕУДОБНО ВЪРХУ RAM DISK!!! Причината е, че ще бъдат изтривани всичките ви cookies при рестартиране на системата. Ако използвате активно IE (защо го правите?), то е добре да ги сложите на HDD диска, а не на RAM диска;

3.3. Cache файловете на Firefox: отворете Firefox и отидете на адрес „about:config“. С десен бутон дайте New > String, дайте име „browser.cache.disk.parent_directory“ и стойност „R:\temp“ или където и да е директорията на RAM диска. При Firefox го няма негативния ефект на изтриване на cookies (те се пазят другаде), затова поставянето на кеша на рам диска е чудесно решение.

Имайте все пак предвид, че при рестартиране на системата всичко от RAM диска ще бъде изтрито! Затова той е подходящ само и единствено за ненужни и временни файлове!

4. Преместете SWAP файла на HDD

Windows swap файла е един от традиционните „убийци“ на производителност на SSD дисковете. Затова е препоръчително да го преместите на HDD диска. Това се прави лесно – Properties на My Computer > Advanced > Settings (под Performance) > Advanced. Първо поставете „Memory Usage“ на „System Cache“ (това е друга добра оптимизация за SSD и го казвам сега, за да не се връщате пак на същото място). После натиснете „Change“. За SSD диска сложете „No paging file“. На HDD диска задайте някакви разумни фиксирани стойности (каквито ви препоръчва Windows обикновено са добър избор).

Някои хора преместват и swap файла на RAM диск, но това имайте предвид, че е изключително глупаво решение! Причината е, че swap файл се използва тогава, когато няма RAM памет. Да заделяте от RAM паметта, за да пишете в swap файл в RAM паметта е напълно безсмислено и всъщност забавящо действие!

5. Спрете prefetch

Това става по подразбиране в Windows 7, но не и в XP. Prefetch е оптимизация, която позволява по-бързо зареждане на системата, както и определени най-често използвани програми. За целта Windows записва много малки файлчета в C:\Windows\Prefetch директорията. Не само, че не помагат, а при SSD диск вредят! За целта отворете registry editor със Start > Run > regedit и отидете на:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

Изберете EnablePrefetcher и го модифицирайте на REG_DWORD със стойност 0. После изтрийте файловете в директория C:\Windows\Prefetch.

6. Спрете defrag

Фрагментацията на файловете не е абсолютно никакъв проблем за SSD дисковете (причина – моменталния достъп до който и да е адрес от паметта). Поради тази причина програми като Defrag са напълно излишни. Особено ако по случайност са пуснати „да оптимизират“ системата ви автоматично. Така, че отидете в regedit и сложете следните настройки:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction\
Име: Enable
Тип: REG_SZ
Стойност: N

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout
Име: EnableAutoLayout
Тип: REG_DWORD
Стойност: 0

Defrag няма повече да тормози диска ви. Това ще ви спести още едно огромно главоболие от липсата на trim команда в XP и честата нужда от „почистване“, но затова по-надолу.

7. В Windows XP няма trim – какво да правя?

Да, липсата на trim е едно сериозно неудобство. Тя става налична от Windows 7, но софтуерно не се поддържа от по-старите (и типично по Microsoft-ски няма никога да се поддържа при тях). Така, че можете да очаквате, че след известно време на ползване бързодействието на хард диска ви ще спадне значително. По-точно – тогава, когато сте записвали общо повече от 60GB (ако сте с такъв диск като моя). Независимо, че вие сте изтрили файлове, те физически не са „почистени“ с trim от SSD диска. Затова практически контролера на диска не „знае“, че те са изтрити. Почистването ще започне тогава, когато има нужда от нов запис на файл, а пространството е свършило (според контролера). А той ще почиства точно толкова, колкото му трябва. И системата ще е малко по-бавна завинаги защото нямате „trim“…

… освен ако не направите един трик. На първо място се сдобийте с програмката MyDefrag. Когато усетите, че хард диска ви е намалил бързодействието си (паднал е от 230-250 MB/s на 160-180MB/s примерно), то с нея направете „Consolidate free space“ (няма нужда от пълен defrag!!!). След това изтеглете FreeSpaceCleaner, отбележете „with FF“ и натиснете на „Clean“ бутона. Ще трябва да почакате малко (в зависимост колко свободно място имате на диска). Програмката ще направи един гигантски файл на устройство C: (с име cleaner.dat), който ще заеме цялото дисково пространство и после… ще го изтрие. Елементарно и ефикасно. При следващо записване на файл на устройството garbage collector на контролера ще изтрие този файл и бързодействието на диска ще бъде върнато. Можете да правите тази операция примерно веднъж месечно. Всичко зависи как товарите системата.

8. Спрете System Restore

Направете това ако нямате навика да си „прецаквате системата“ сами. System Restore не е от най-добрите приятели на SSD диска. Всъщност моят плах опит показва, че при „прецакване на системата“ до състояние да не може да се оправи в нормалната си среда, то и System Restore не помага особено добре. Обикновено се стига до преинсталация.

За да изключите System Restore отидете на properties на My Computer > System Restore и изключете за всички дискове или поне за SSD диска.

9. Спрете Windows Search Service

На първо време се опитайте да НЕ инсталирате Windows Search 4.0 ако някой ви го предложи (например Windows Update сайта). Ако все пак сте се прецакали и сте го инсталирали – махнете го, той не ви помага на SSD диска. Всъщност пречи и то не малко.

Освен това допълнително отидете на My Computer и с десен бутон натиснете „Properties“ на SSD диска. Премахнете отметката „Allow indexing service to index this disk for fast file searching“. Да, това не ви трябва. Махнете отметките на всички дискове в системата. Вие колко пъти годишно използвате Start > Search? И да има индексиране при SSD диска няма да кой знае колко по-бързо.

А за най-сигурно отидете на Control Panel > Administrative Tools > Services и на „Indexing Service“ дайте „Disable“ и „Stop“. Това отменя нуждата от предишните действия в тази точка 🙂

10. Изключете „last accessed“

Гледате ли някога кога за последно сте отваряли даден файл, или просто го отваряте и виждате какво има в него? Е, ако не гледате датата на „last accessed“ на файловете, то можете лесно да го изключите. Отидете на „start > run“, напишете „cmd“ и натиснете OK. В командния ред напишете следната команда:

FSUTIL behavior set disablelastaccess 1

Натиснете Enter и всичко ще е готово.

11. Заключение

Всички операции направени по-горе са обратими! Ако не знаете как – записвайте си „какво е било“ и после връщайте в обратен ред ако нещо не ви хареса. А колкото до бързодействието – ето заключението от benchmark, който говори само за себе си:

Скоростите са малко по-ниски от нормалните за съвременни машини, но и в този вариант са ми предостатъчни. Практически максималното очаквано е с по 20MB/s повече при големите файлове. При такива скорости това си е направо пренебрежимо. Реално няма да повярвате колко бързо работи общо цялата система по този начин. Впрочем за сравнение ето резултатите от нормалния ми SATA II хард диск на 7200rpm:

П.С. Важно уточнение за хора, които евентуално биха си купили SSD диск на Corsair: НЕ купувайте M-серията. Те са стари, бавни и без trim, освен това с много „бъгове“ и без официален firmware update за тях. Купувайте само от F-серията или по-нови. Освен това не е зле да си проверите версията на firmware и да я обновите. Към момента най-новата за F-серията е 2.0. Дискове от F-серията произведени преди ноември 2010 идват с firmware 1.1 или 1.0.