RAM dysk
16 września 2010
Kupując komputer wiele osób daje się omamić magią liczb i zwracają uwagę tylko na cyferki serwowane im przez sprytnych marketingowców. Ci trochę bardziej świadomi przed podjęciem decyzji czytają opinie innych, testy kart graficznych, procesorów, czasami płyt głównych. Osobiście mam jednak wrażenie, że jednym z najmniej absorbujących uwagę klientów elementem komputera są twarde dyski. Przeważnie każdy skupia się jedynie na pojemności i przechodzi do następnego punktu na liście zakupów. Błąd.
Dysk twardy to szalenie ważny wybór. Można wybrać najwydajniejszą kartę graficzną i najszybszy procesor a komputer i tak będzie wolno działał jeżeli zaoszczędzimy na napędzie HDD. Temat jest bardzo obszerny, od prędkości obrotowych talerzy poprzez dyski SSD aż po macierze RAID. Dobrze przemyślana inwestycja w „twardziele” procentuje!
Są jednak takie zadania gdzie wydajność dysków twardych ma decydujące znaczenie. Czy istnieje jakiś sposób drastycznego zwiększenia ich wydajności? Nie, nie istnieje. Ale można stworzyć RAM dysk.
Pamięci RAM są piekielnie szybkie, wielokrotnie szybsze od jakiegokolwiek napędu, dysku twardego etc. Niestety jest to pamięć ulotna, po odcięciu zasilania dane przepadają. Jest jednak sposób aby użyć swojej pamięci RAM jako zwykłego dysku twardego. Istnieją programy, które potrafią wmówić Waszemu systemowi operacyjnemu, że część Waszego RAM’u to dysk twardy. Po instalacji i konfiguracji pojawia się po prostu nowa literka na liście dysków/partycji. Można tam tworzyć/usuwać foldery, kopiować pliki, robić wszystko to co robimy na co dzień ze swoimi napędami HDD.
Słowem kluczem jest „szybkość”. Posiadam dwa wydajne dyski twarde, połączyłem je w macierz RAID 0. To rozwiązanie daje naprawdę bardzo dobre wyniki, transfer danych jest dużo lepszy niż przy zwykłych dyskach i/lub bez RAID. Jednak po instalacji dysku RAM… Dokładne testy wymagałyby godzin pracy, wszystko zależy od odpowiedniej konfiguracji, wielkości danych na jakich pracujemy, systemu plików na dysku itd. Ale zwykły test jednym z wielu programów do sprawdzania wydajności dysków twardych wykazał, że transfery wzrosły od kilkunastu do nawet kilkuset razy, zależnie czy to zapis czy odczyt oraz od wielkości danych. Imponujące.
Tyle o zaletach. Teraz wady
Przede wszystkim dane z takiego dysku znikają. Gdy używamy go tylko chwilowo do przyspieszenia działania jakiegoś programu to raczej nie ma to dla nas większego znaczenia. Może być to nawet zaleta np. ustawiając zmienne środowiskowe systemu tak aby na naszym dysku RAM był systemowy katalog Temp, który będzie czyścił się automatycznie przy każdym wyłączeniu komputera
Programy umożliwiające tworzenie dysków RAM pozwalają na „obejście” problemu znikania danych. Przy zamykaniu systemu tworzą obraz naszego dysku a przy starcie wczytują go na nowo. Niestety ma to kilka wad. Zapis i odczyt odbywa się na naszym zwykłym dysku twardym a to niestety trwa. Przy większych dyskach całkiem długo. Poza tym gdy z jakiegoś powodu praca naszego systemu zostanie nagle przerwana i nie dojdzie do zapisu obrazu to po ponownym włączeniu komputera dostaniemy starsze pliki. Te, które powstały od momentu ostatniego zapisu obrazu przepadną na zawsze. W programie o którym napiszę na końcu jest auto zapis, obraz aktualizuje się co wybraną ilość sekund. Spadnie jednak wtedy wydajność naszych normalnych dysków co może negatywnie wpłynąć na pracę całego systemu. Na końcu trzeba wspomnieć, że obraz może ulec uszkodzeniu (auto zapis zwiększa to niebezpieczeństwo) i wszystko nam przepadnie.
Innym minusem jest fakt, że użyta w ten sposób pamięć RAM z oczywistych względów nie może być używana przez system. Dlatego na RAM dysk mogą sobie pozwolić tylko osoby z nadwyżką tej pamięci. Nie ma sensu robić RAM dysku gdy w konsekwencji dla systemu zabraknie RAM’u i system zostanie zmuszony korzystać z pliku wymiany. Więcej strat z takiego rozwiązania niż pożytku.
Do czego taki dysk może nam posłużyć? Ułatwi życie przede wszystkim tam gdzie potrzeba wiele operacji odczytu/zapisu danych, zwłaszcza małych plików. Można sobie np. ustawić tak system, o czym wspomniałem wyżej, aby nasz dysk był używany do przechowywania plików tymczasowych zamiast standardowych katalogów Temp. Jednak i tu trzeba uważać. Gdy nie użyjemy obrazu i przy każdym starcie systemu nasz dysk będzie pusty to takie programy jak np. Internet Explorer, który używa systemowych katalogów tymczasowych aby trzymać tam pliki cache, straci na wydajności. Nie wiem jak jest z IE ale np. Firefox pozwala ustawić własny, niezależny od ustawień systemu, folder plików tymczasowych. Polecam go nie przestawiać na nasz dysk RAM.
To tylko jeden przykład z wielu użyteczności rozwiązania jakim jest RAM dysk. Prace z bazami danych, przetwarzanie grafiki, audio, wideo. Pomysły można mnożyć. Każdy sam musi zdecydować czy takiego dysku potrzebuje i jak go wykorzystać. Odradzałbym raczej hura optymizm i np. instalowanie na takim dysku programów bo wtedy trzeba włączyć używanie obrazu a oczekiwanie na jego odczyt/zapis potrafi zniechęcić. Z drugiej strony warto mieć pół czy jeden giga takiego „ekstra” dysku pod ręką jeżeli raz na jakiś czas wykonujemy czynności, które normalnie wyciskają siódme poty z naszych biednych „twardzieli”. Wybór należy do Ciebie, kieruj się logiką i oceń bilans plusów oraz minusów.
Przez długi czas używałem takiego dysku o wielkości 1 GB z użyciem obrazu. W końcu jednak oczekiwanie na odczyt/zapis przy starcie/zamykaniu systemu zaczął mi na tyle doskwierać, że postanowiłem zmienić ustawienia. Jak na zawołanie, z jakiegoś powodu uszkodzeniu uległ używany obraz (nie było tam nic wartościowego) co zmobilizowało mnie wreszcie do działania
Teraz mam dysk RAM ale bez zapisywania jego zawartości, jedynie do bieżącego użytku, plików tymczasowych itp. Zobaczymy jak takie rozwiązanie będzie się spisywało.
Na koniec dwie sprawy wymagające wyjaśnienia. Po pierwsze, ReadyBoost. Technologia po raz pierwszy wprowadzona w Windows Vista (z tego co wiem to były podobne rozwiązania firm zewnętrznych dla Windows XP), która pozwala używać szybkich napędów np. pamięci FLASH do przyspieszenia systemu. Nasz dysk RAM zostanie przetestowany i system uzna, że nadaje się on do wykorzystania dla tej technologii jednak NIE korzystajcie z tej funkcji. ReadyBoost, owszem, jest przydatne ale tam gdzie wielkość pamięci RAM jest niewystarczająca. Wtedy użycie np. PenDrive z tą funkcją pozwoli trochę przyspieszyć działanie systemu jako iż pamięci FLASH są szybsze od zwykłych, talerzowych dysków twardych. W naszym przypadku nie ma to jednak sensu… Lepiej żeby system miał do dyspozycji więcej RAM’u niż mielibyśmy mu go zabrać po czym ponownie oddać w postaci RAM dysku, tylko poprzez „pośredników” co oczywiście zmniejszy wydajność.
Druga sprawa to „znikający” RAM. Pewne ograniczenia powodują, że 32-bitowe systemy (na pewno Windows XP, od Visty włącznie podobno problem został rozwiązany ale wiem na pewno, że Vista czasami nadal sobie nie radzi) nie potrafią obsłużyć więcej niż 4GB RAM’u. Jeżeli masz więcej, marnuje się on. Oczywiście najlepiej zainstalować nowszy system lub jakąś łatkę/64-bitową wersję ale jeżeli dobrze Ci tak jak jest to Twoja nieużywana część RAM’u idealnie nadaje się na RAM dysk
To również jedyny wyjątek gdy włączenie ReadyBoost ma jakiś sens. System i tak z tego RAM’u nie potrafi korzystać. Inna sprawa, że ReadyBoost pewnie się nie przyda skoro system ma do dyspozycji 4 GB RAM’u
Programów do tworzenia RAM dysków jest sporo. Przetestowałem kilka i najlepiej radził sobie u mnie Dataram RAMDisk (bezpłatny dla dysków do 4 GB, za większe trzeba zapłacić 10$). Z innymi były różne problemy, niektóre zupełnie nie działały, inne były niestabilne. Ten przez wiele miesięcy nie sprawił mi żadnego problemu (aż do uszkodzenia pliku obrazu ale to raczej nie jego wina). Ma funkcje obsługi obrazu, auto zapis, automatyczne tworzenie katalogu Temp czy wykorzystanie pamięci RAM, której nasz system nie widzi. Polecam. Warto też przeczytać krótką dokumentację chociaż instalacja/deinstalacja zarówno programu jak i samego dysku RAM a także konfiguracja wszystkiego są bardzo proste.
Program pozwala stworzyć dysk z systemami plików FAT 16, FAT 32 lub niesformatowane (samemu można potworzyć partycje). Nie ma NTFS bo Microsoft nie udostępnił pełnej dokumentacji tego systemu. Mimo to można użyć wbudowanych w system narzędzi i sformatować dysk jak się chce. Aby jednak zmiany zostały zachowane, należy włączyć używanie obrazu. W innym przypadku po ponownym starcie systemu system plików zostanie „zresetowany” do ustawień jakie zaznaczymy w programie. Jeżeli nie używasz obrazu to, moim zdaniem, najlepiej ustawić FAT 32.


Blog przede wszystkim o Internecie i mojej pasji jaką jest tworzenie stron www. Ale nie ograniczam się do jednej tematyki, piszę o wszystkim o czym mam ochotę :-)