Tworzymy RAMdisk, czyli co zrobić z nadmiarem pamięci RAM

Dysk twardy to główny element dzisiejszych komputerów. Przez lata dyski w zawrotnym tempie zwiększały swoją powierzchnię, aby umożliwić nam przechowywanie coraz to nowych danych, filmów i zdjęć kotów. Instalujemy tez na nich system operacyjny, jednak w tym przypadku wielkość nie ma tak dużego znaczenia, liczy się technika szybkość. Dlatego powstały dyski SSD, które kosztem wielkości i trwałości (?) oferują znaczny wzrost prędkości i zakup takiego to w tej chwili najlepszy sposób na przyspieszenie systemu. Czy możemy pójść jednak jeszcze dalej (prócz stawiania RAIDa) i osiągnąć lepsze rezultaty? Jednym z najszybszych elementów komputera służących do przechowywania danych jest pamięć RAM, szybkość zapisu i odczytu danych oraz czas dostępu zostawiają w tyle najlepsze tradycyjne dyski twarde. Niestety w odróżnieniu od nich, pamięć musi być zasilana aby dane znajdujące się na niej przetrwały. Ogranicza to zatem możliwości wykorzystania RAMu jako siedliska dla systemu operacyjnego. Możemy jednak wykorzystać tę pamięć do przyspieszenia niektórych elementów OSów. Do tego celu będziemy musieli stworzyć…

RAMdisk

Jest to taki twór, który sprawia, że system rozpoznaje zadeklarowany przez nas obszar pamięci RAM jako dodatkowy dysk i umożliwia wykonywanie wszelkich operacji jak na zwykłym dysku. Oczywiście zmniejsza się wtedy rozmiar pamięci operacyjnej dla systemu,dlatego przed decyzją o użyciu jej musimy się dobrze zastanowić, wszak OS najlepiej wykorzysta szybką pamięć operacyjną, a jeżeli jej zabraknie zacznie korzystać z pliku wymiany znajdującym się na dużo wolniejszym dysku twardym. Gdy jednak dysponujemy dużą ilością RAMu, a system nie wykorzystuje jej do cna, to możemy pokusić się o zarezerwowanie nieco na dodatkowy dysk. W jeszcze „lepszej” sytuacji są posiadacze systemów 32-bitowych, które to potrafią w teorii zaadresować tylko 4Gb pamięci operacyjnej (a w praktyce 3,5Gb), jeżeli macie coś ponadto, będzie leżeć odłogiem. Wtedy RAMdysk jest najlepszym rozwiązaniem.

O wadach już wspomniałem, dane nie będą przechowywane w nieskończoność. Chwile po odcięciu zasilanie utracimy je. Z drugiej jednak strony możemy wykorzystać to jako atut i przeznaczyc taki dysk do przechowywania danych tymczasowych. Nie dość, że będą błyskawicznie przetwarzane, to jeszcze nie musimy martwić się o ich czyszczenie.

Zacznijmy zatem od wyboru aplikacji. Obecnie jest ich całkiem sporo. Poszukałem nieco i natknąłem się na fajne zestawienie programów oraz prędkości dysków stworzonych za ich pomocą. Wygląda na to, że warto skupić się na:

Gavotte Ramdisk (tego używałem kiedyś przez dłuższy czas i spisywał się bezproblemowo)
SoftPerfect RAM Disk
VSuite Ram disk

Tworzenie wirtualnego dysku

Nie jest to żadna wielka filozofia, okienkowe programy są dość intuicyjne, ale z obowiązku pokaże w skrócie cały proces na podstawie aplikacji od SoftPerfect.

Po dopaleniu programu pokażę się nam główne okno wraz z aktualnie skonfigurowanymi dyskami.

RamD1

Klikamy duży zielony plus i konfigurujemy dysk. Najważniejszym parametrem jest rozmiar dysku, który nie może być większy od wartości wolnej ilości pamięci. Opcjonalnie wybrać możemy wcześniej przygotowany obraz dysku, zostanie on załadowany do Ramdysku zaraz po wystartowaniu. Pozostaje nam wybór litery pod jaką ma być widoczny dysk oraz system plików. Dodatkowo możemy uruchomiać nasz nowy dysk w trybie pełnej emulacji dysku twardego, co umożliwi nam wykonywanie takich samych operacji jak na tradycyjnym, co niestety wiąże się z niewielkim spadkiem wydajności. Możemy również sprecyzować nazwy katalogów jakie mają być utworzone na dysku.

RamD2

Po zatwierdzeniu dysk jest gotowy do użytku.

Jak go używać?

Aby jak najlepiej skorzystać z atutów nowostworzonego dysku warto przekierować na niego zapisywanie plików do których system musi szybko sięgnąć i wykorzystywać. Na samym początku warto przenieść na niego systemowy plik wymiany, na wypadek gdybyśmy przekroczyli limity RAMu obsługiwanego w tradycyjny sposób. Następnie w najczęściej używanych aplikacjach i przeglądarek internetowych zmienić ścieżki zapisywania plików tymczasowych na nowo stworzony ramdysk. Jeżeli zdaża wam się przeglądać bądź zapisywać pliki, które uważacie za szczególnie ważne, do których nikt oprócz was nie powinien zaglądać, możecie zapisywać je na wirtualnym dysku. Po wykasowaniu bądź wyłączeniu przepadną bezpowrotnie i nie da się ich odzyskać jak ze zwykłych HDD (no chyba, że komuś bardzo zależy i będzie szybki :))

Przeczytaj także...

11 komentarzy

  1. gajowy napisał(a):

    @W jeszcze „lepszej” sytuacji są posiadacze systemów 32-bitowych
    W jaki sposób RAMdisk odwoła się do pamięci, która jest nieobsługiwana przez system operacyjny?

    @plik wymiany
    Jaki jest sens wydzielania z pamięci operacyjnej miejsca, w którym będą zapisywane dane nie mieszczące się w pamięci operacyjnej?

    • Dariusz Góra napisał(a):

      W pierwszym przypadku, odpowiedzią jest PAE (http://en.wikipedia.org/wiki/Physical_Address_Extension)

      W drugim, rzeczywiście nie ma sensu jeżeli dysk przeznaczymy tylko na plik wymiany. Jeżeli jednak chcemy wykorzystywać go również do innych celów to ograniczając systemowi pamięć operacyjną warto zostawić sobie choć taki zawór bezpieczeństwa i w razie dużego obiążenia RAMu lepiej zapisywać to co się nie mieści na RAMdysku, niż 50 razy wolniejszym HDD

    • Grzegorz Szyszło napisał(a):

      @Dariusz:
      PAE pozwala na obejście ograniczenia, ale MS robi „licencyjne” ograniczenie do 3.5GB widziane przez system. Pytanie, czy soft do dysków wirtualnych potrafi obejść ograniczenie nałożone przez system?

      @gajowy: na drobne tymczasowe pliki jest sens. standardowy dyskowy FS musi dbać o spójność informacji na wypadek krachu zasilania. W przypadku ramdysku takiej potrzeby nie ma. Nieważne wtedy, która część ramdysku siedzi w swapie a która nie, nie ma tu reżimu następwstawa że najpierw muszą być zaktualizowane dane, potem struktury dostępu do nich aby nie było wskazania do nikąd, a na końcu stuktury katalogowe i ewentualnie indeksy. Dzięki temu że ramdysk tego wszystkiego pilnować nie musi, działa to szybciej 🙂

      ps: kiedyś mój kolega usilnie robił swapa na ramdysku…. miało być szybciej 😛 to były czasy windows 3.11 for workgroup.

  2. Biter napisał(a):

    Od razu przychodzą mi wspomnienia Amigowe gdzie ramdisk był codziennym narzędziem pracy 🙂 W sumie nie pomyślałem nigdy wcześniej że i na PC można tej metody używać. Bardzo fajne opracowanie, przyda sie, dzięki 🙂

  3. Artur napisał(a):

    Obojętnie od rozwiązania wrzucanie pliku wymiany na RD nie ma najmniejszego sensu.
    Niby co miałoby to dać? Lepiej w ogóle wyłączyć plik wymiany.
    Idea pliku wymiany jest prosta: Brakuje pamięci, to jej część przepisujemy na dysk.
    W tym przypadku: Zabieramy RAM. Wrzucamy w niego ten sam RAM który zabraliśmy ale dodatkowo musimy to obsługiwać, co zabiera i czas procesora i pamięć.
    Idąc na żywioł powyższego idiotyzmu to należałoby dać poradę:
    Stwórz RD, w nim stwórz kolejny, w nim kolejny, kolejny, kolejny a na końcu wrzuć tam plik wymiany 🙂

  4. Krzysztof napisał(a):

    A co z TEMP i TMP, gdy je przeniosę system przy rozruchu się wy…. i następuje przywracanie systemu, jak to obejść (win7 64bit)

  5. Ba. Ci napisał(a):

    idiotyzm bez sensu

  6. K-y-s napisał(a):

    Ram disk do g**no miałem na nim serwer i programowałem na nim wywaliło mi korki i nie mam już ram disk

Dodaj komentarz