ram

RAMdysk w Windows - najlepsza metoda tworzenia dysku RAM

W tym artykule przedstawię najlepszą bezpłatną aplikację do tworzenia wirtualnych dysków, która wykorzystuje wolną przestrzeń pamięci RAM. Stworzony w ten sposób RAMdisk można wykorzystać do przyśpieszenia działania systemu operacyjnego Windows XP, Vista, Windows 7 oraz Windows 8. Tworzenie RAMdysku sprowadza się do zainstalowania i skonfigurowania aplikacji o nazwie ImDisk Virtual Disk Driver, która nie posiada żadnych limitów, co więcej program wyposażony jest w unikalny mechanizm tworzenia RAMdysków, który dedykowany jest dla osób z mniejszą ilością RAM.

Zastanawiasz się zapewne po co kombinować tworząc wirtualne dyski. Odpowiedź jest bardzo prosta, pamięć operacyjna jest wielokrotnie szybsza, a czasy dostępu do danych nieporównywalnie krótsze aniżeli w najlepszych powszechnie dostępnych pamięciach masowych.

Dlaczego warto korzystać z RAMdysku?

Przyśpieszenie działania systemu Windows

System operacyjny Windows w trakcie działania wykorzystuje katalogi TEMP, TMP i inne do zapisywania rozmaitych danych tymczasowych. Katalogi zlokalizowane są na dysku twardym, który posiada gorsze właściwości wydajnościowe. Gdy zmienisz lokalizację katalogów tymczasowych na RAMdisk, spowodujesz, że zapis i odczyt danych z/do katalogów będzie błyskawiczny, przez co wzrośnie ogólna wydajność Windows, aplikacji i gier.

Optymalizacja zużycia dysków

Dotyczy szczególnie dysków SSD, które posiadają ograniczoną liczbę cykli zapisu (P/E). W dużym skrócie o co w tym chodzi? Dysk SSD zbudowany jest z pamięci flash (znanych z pendrive'ów). Producenci dysków SSD mimo, że już od dobrych 10 lat posiadają bardziej zaawansowane technologie, zdecydowali się zastosować w powszechnym obrocie (czyt. dla przeciętnego Kowalskiego) komórki TLC w tanich konstrukcjach i MLC (w nieco droższych), które pozwalają na odpowiednio 1000 i 3000-5000 cykli zapisu. Na rynku możemy spotkać także dyski z wyższej półki, gdzie szacowany P/E jest na poziomie od 10000 wzwyż (komórki typu SLC, eSLC, eMLC), jednakże w powszechnej sprzedaży mamy do czynienia z tymi pierwszymi (TLC, MLC).

Wyobraź sobie że posiadasz typowy tani dysk SSD montowany domyślnie w wielu laptopach (nawet tych droższych), komórki flash są typu TLC czyli P/E jest na poziomie zaledwie 1000 cykli. Przy intensywnym użytkowaniu komputera i dysku pierwsze oznaki zużycia możesz zauważyć już po 12 miesiącach (zależnie od pojemności dysku, sposobie zagospodarowania przestrzeni i intensywności użytkowania). Tak było z moim dyskiem SSD Samsunga 64GB, który po niespełna 14 miesiącach typowego domowego użytkowania zaczął sprawiać problemy, jak później okazało się powodem była wyczerpująca się pula cykli zapisu.

W tym właśnie miejscu wkracza nasza zgrabna aplikacja do tworzenia RAMdysku, dzięki której stworzymy wirtualny dysk twardy w pamięci operacyjnej komputera i przerzucimy na niego część zadań związanych z zapisem danych, tym samym odciążając dysk SSD.

RAMdysk możesz wykorzystać do przechowywania:

  • Folderów tymczasowych i danych podlegających częstej modyfikacji.
  • Folderów tymczasowych (cache) przeglądarek internetowych (jeśli posiadasz dysk SSD i dużo oglądasz materiałów wideo na Youtube, filmów czy materiałow szkoleniowych, utworzenie RAMdysku jest wręcz koniecznością).
  • Danych (np. obrazy ISO) które po pobraniu nagrasz na płytę DVD lub pendrive (po co marnować P/E SSD jak można plik zapisać w pamięci RAM i z jej poziomu stworzyć bootowalny pendrive czy nośnik CD/DVD).

W niektórych przypadkach można nawet pójść o krok dalej i przenieść do RAM niektóre foldery systemowe, co więcej są sposoby by instalować i uruchamiać całe aplikacje z poziomu RAMdysku uzyskując niebotyczne osiągi wydajnościowe (istotne szczególnie w grach komputerowych), ale o tym powiemy sobie przy okazji poradnika o optymalizacji Windows i SSD.

Perfekcyjnym rozwiązaniem jest posiadanie 16GB RAM, z czego 50% oddelegowanie do obsługi RAMdysku. Na laptopach z Windows 7 i 3GB RAM można odczuć wyraźny dyskomfort już przy ustawieniu RAMdysku na poziomie 300MB. Jest to spowodowane komunikatami o braku pamięci RAM (na ścisłość komunikaty można wyłączyć). Właściciele komputerów zasobnych w pamięć operacyjną (4GB+) z pewnością powinni skorzystać z wirtualnego dysku RAM.

Poniżej testy wydajności mojego RAMdysku...

Benchmark ramdysk

...i typowego dysku SSD montowanego w laptopach - Samsung 840...

Benchmark Samsung SSD 840

Gołym okiem widać, który wariant jest wydajniejszy ;)

Instalacja ImDisk i tworzenie RAMdysku

ImDisk można pobrać z tej lokalizacji. Najlepiej zainstalować od razu cały zestaw narzędzi mieszczący się w instalce ImDisk Toolkit (będzie potrzebny w dalszej części artykułu).

ImDisk Toolkit

Po uruchomieniu instalatora wystarczy zaakceptować komunikat UAC i kliknąć Install. Następnie należy ponownie uruchomić komputer.

W panelu sterowania pojawi się dodatkowy aplet ImDisk Virtual Disk Driver. Możemy go wywołać również poprzez ikonę na pulpicie, o ile zdecydowaliśmy się na etapie instalacji utworzyć skróty.

imdisk.cpl

Rozpoczynamy tworzenie nowego RAMdysku, wybieramy Mount new.

imdisk virtual disk driver

Przypisujemy literę dysku do wirtualnego napędu (Drive letter, w przykładzie litera X), po czym określamy jego rozmiar wyrażony w określonej jednostce (bajty, kilobajty, megabajty, gigabajty - na zrzucie tworzymy dysk RAM o wielkości 300MB).

Mount new virtual disk

Po ustawieniu wszystkich opcji pozostaje kliknąć OK, ale to jeszcze nie wszystko. Po zakończeniu tworzenia RAMdysku pojawi się kreator formatowania nowego dysku. Oczywiście musimy sformatować dysk przed jego użyciem. W oknie głównym ImDisk zauważymy nowy wpis z przed sekundą utworzonym RAMdyskiem.

RAMdisk Imdisk

Alternatywną metodę tworzenia RAMdysku w oparciu o inny moduł ImDisk - RamDiskUI.exe przedstawię w sekcji dotyczącej autouruchamiania.

Pamiętaj, że po zrestartowaniu komputera wszystkie dane zawarte w RAMdysku zostaną utracone, w związku z czym nie zapomnij przenieść danych przed restartem, ewentualnie skorzystaj z możliwości zapisu RAMdysku do obrazu IMG/ISO podczas zamykania Windows (wydłuża proces zamykania systemu). Jeśli używasz dysku RAM wyłącznie do zwiększenia wydajności systemu, nie musisz martwić się o zapisywanie obrazu.

Autouruchamianie RAMdysku wraz z Windows

Jeśli chcemy utworzyć wirtualny dysk z opcją autouruchamiania musimy skorzystać z dodatkowego narzędzia ImDisk Toolkit (RamDiskUI.exe), dzięki któremu określimy zachowanie RAMdysku.

RamDisk Configuration Tool jest zdecydowanie bardziej czytelny dla początkujących użytkowników, w związku z czym rekomenduję, by tę metodę stosować w pierwszej kolejności.

Opis kluczowych funkcji ImDisk RamDisk Configuration Tool (RamDiskUI.exe)

ImDisk Basic

  • Size [KB/MB/GB] - rozmiar dysku wyrażony w kilobajtach, megabajtach lub gigabajtach.
  • Allocate Memory Dynamically - zaznaczenie opcji przestawi tryb pracy RAMdysku w dynamiczny. Na czym to polega? Użytkownik określając rozmiar RAMdysku definiuje jego maksymalną objętość w pamięci RAM, początkowo RAMdysk będzie utylizował niewiele zasobów, z biegiem rosnącego zapotrzebowania utylizacja RAM wzrośnie, aż do osiągnięcia rozmiaru granicznego. Jest to idealne rozwiązanie dla osób z mniejszą ilością pamięci RAM, jednakże taki sposób alokowania danych w pamięci zmniejsza wydajność RAMdysku, który i tak będzie nieporównywalnie szybszy od dysku SSD.
  • Drive letter - litera dysku przypisana do konkretnego wirtualnego napędu (widoczna z poziomu ekranu Mój komputer).
  • File System - typ systemu plików, do wyboru NTFS, FAT, FAT32 i exFAT (zalecane NTFS).
  • Launch at Windows Startup - opcja inicjuje RAMdysk podczas uruchamiania Windows. Szczególnie przydatna, gdy na RAMdisk przeniesiemy systemowe katalogi tymczasowe.
  • Create TEMP Folder - jeśli próbowałeś kiedyś utworzyć RAMdysk zawierający katalogi tymczasowe wiesz doskonale, że jeśli na wirtualnym dysku system nie odnajdzie katalogu tymczasowego podczas inicjowania niektórych usług, system potrafi mocno przymulić i opóźnić start pozostałych komponentów (usług). Dzięki ImDisk ten problem został rozwiązany. Opcja Set TEMP Variables jest ułatwieniem dotyczącym definiowania zmiennych środowiskowych odnoszących się do folderów TEMP i TMP.

ImDisk Advanced

  • Cluster size - rozmiar jednostki alokacji plików.
  • Drive Label - etykieta dysku wyświetlana w oknie Mój komputer.
  • Dynamic RamDisk CleanUp - opcja szczególnie przydatna dla osób z małą ilością pamięci RAM, pozwala lepiej zarządzać alokowaną pamięcią przyporządkowaną do RAMdysku.
  • Use Mount Point - punkty montowania. Możesz określić do 10 pustych katalogów, które zostaną podpięte podczas inicjowania RAMdysku.
  • Save as Image File - ręczny zrzut zawartości RAMdysku do pliku IMG. Obraz można ponownie wczytać. Przydatne gdy RAMdysk wykorzystujemy do instalowania/uruchamiania aplikacji.
  • Load Content from Image File or Folder - wczytuje dane (aplikacje) z obrazu IMG lub z określonego katalogu. W połaczeniu z programem konsolowym ImDisk do auto-zapisywania obrazu RAMdysku tworzy ciekawy duet potrafiący odtwarzać poprzedni stan RAMdysku w kolejnej sesji.
  • Additional Parameters - w polu tekstowym możemy wpisać dodatkowe parametry uruchomieniowe przekazywane do aplikacji. Szczegółowe informacje znajdziesz w dokumentacji ImDisk.

Na ścisłość, aby przy pomocy ImDisk Configuration Tool stworzyć RAMdysk wystarczy wpisać jego rozmiar i zatwierdzić operacje OK. Woluminu nie będzie trzeba nawet formatować, wszystko odbędzie się w tle, w kilka sekund otrzymujemy gotowy do działania wirtualny dysk w pamięci operacyjnej naszego komputera.

ImDisk i widoczność dysku RAM

W systemie Windows 7 i Vista spotkałem się czasami z drobnymi problemami związanymi z wyświetlaniem dysku RAM w oknie Mój komputer, który nie zawsze pojawiał się. Dysk bez większych problemów można zobaczyć za pomocą menedżerów plików Unreal Commander, Free Commander, Total Commander i innych. Osoby takie jak ja , które mało używają eksploratora Windows nie uznają tego za problem, jednakże musiałem wspomnieć o tej drobnej przypadłości.

Jeśli dotknął Cię ten bug pewnie zadasz pytanie - jak sprawić by tuż po uruchomieniu Windows dysk RAM był widoczny w oknie Mój komputer?

Najprostsze rozwiązanie to pobrać narzędzie devcon.exe (Pobierz), przekopiować do folderu C:\Windows\System32, przygotować odpowiedni skrypt CMD/BAT, który wyłącza a następnie ponownie włącza wybrane urządzenie (np. CDROM - devcon restart *CDROM*). Na koniec pozostaje dodać skrypt do autouruchamiania za pomocą przystawki Harmonogramu zadań.

Całą operację można wykonać ręcznie z poziomu menedżera urządzeń - devmgmt.msc. Odświeżyć listę urządzeń w Mój komputer można także poprzez włożenie pendrive do USB. W systemie Windows 8 nigdy nie stwierdziłem występowania usterki, dotyczy ona wyłącznie starszych wersji Windows i w dodatku występuje bardzo rzadko. Dodam, że problem nigdy nie wystąpił, gdy uruchomiłem komputer z podpiętym kluczem USB lub dyskiem wymiennym.

Mariusz Kołacz ImDisk Toolkit, tworzenie ramdysk

Skomentuj wpis - Komentarzy (48)

  1. Dredds pisze:

    Dzięki działa idealnie na Windows 8.1 :)

  2. SpeX pisze:

    Jak mam W7 i 4GB Ramu to jest sens w to się bawić?

  3. Mariusz Kołacz pisze:

    Tak, nawet na Win 7 i 3GB RAM jest sens, tylko że w takiej konfiguracji przy jednoczesnym uruchamianiu np. aplikacji do obróbki grafiki, Firefox z 15 otwartymi kartami plus kilku innych aplikacji, może dojść do pojawienia się komunikatów o kończącej się pamięci operacyjnej. Komunikat u mnie nie występuje często ale zdarza się przy większym obciążeniu i intensywnym korzystaniu z RAM-dysku. Dodam że ja mam ustawiony dynamiczny RAMdysk.

  4. traxter pisze:

    Bardzo dobra aplikacja, jednocześnie obszernie opisana. Sam z niej korzystam do montowania obrazów w napędach wirtualnych i z opisanego RAMdysku, do którego przeniosłem katalogi TEMP + cache przeglądarki. Warto wspomnieć, że to projekt w pełni darmowy, może być używany nawet w komercyjnych firmach.

  5. SpeX pisze:

    A jestem ciekaw, czy RamDISK w grach coś da? Np. w BF4?

  6. Mariusz Kołacz pisze:

    Kumpel testował COD na ramdysku i mówił że jest lepiej jak na ssd. Musiałbyś sam przetestować żeby przekonać się czy warto. Jak masz przynajmniej 2 gigowy dysk RAM spokojnie możesz zainstalować grę na RAmdysku, w sieci znajdziesz nawet tutoriale do tego, tylko jest jedno ale, jak ramdysk ma służyć jako kontener instalacyjny nie stosuj dynamicznego ramdysku. Stały ma wyższą wydajność prawie 2x od dynamicznego, poniżej masz benchmark mojego stałego na innym kompie...

    Stały RAMdysk w grach

    Ps. Na początku artykułu masz benchmark ramdysku dynamicznego.

  7. SpeX pisze:

    Planowałem sobie dokupić 2x4GB do moich 2x2GB, ale nie wiem czy teraz sobie nie kupić przypadkiem 2x8GB :/

  8. Mariusz Kołacz pisze:

    Wpierw to sprawdź czy ci komp obsłuży 16GB RAMu ;)
    Przy 8GB spokojnie możesz dać 2 giga, ja tak zrobiłem ale stosuje ramdysk dynamiczny, stałka byłaby lepsza w grach. Wiesz... jest jeszcze inne rozwiązanie wydzielenie pamięci GPU i zrobienie z tego ramdysku, tylko w grach to się nie sprawdzi bo pamięć dedykowanej karty jest potrzebna.

  9. SpeX pisze:

    Akurat płyta jest nowa i obsługuje do 32GB

  10. pablo pisze:

    Przydałby się opis zmian miejsca plików tymczasowych w najpopularniejszych przeglądarkach :) Taka wisienka na torcie... Ja już zmieniłem.

  11. Mariusz Kołacz pisze:

    @pablo, takie coś mogę napisać ale w oddzielnym artykule.

  12. pablo pisze:

    @Mariusz Kołacz
    Na pewno się przyda :)

  13. Mariusz Kołacz pisze:

    Dla osób z większą ilością ram z pewnością tak :)

  14. makar pisze:

    Czy ma sens wrzucenie swapa na ramdysk (Win7, 16 giga ramu)?

  15. Mariusz Kołacz pisze:

    Przy tak dużej ilości RAM całkiem wyłączyć. Jeśli nie używasz starych aplikacji/gier to problem z brakiem SWAP nie wystąpi.

  16. Łukasz pisze:

    Ano właśnie,
    mam Windows 8.1, 16 GB RAM i się zastanawiam...
    Nie mam SSD, bałem się właśnie przekroczenia cykli zapisu - bardzo intensywnie korzystam z komputera. Plik wymiany wyłączyłem w ogóle - co prawda mam dysk 1TB, ale użycie pamięci mam średnio na poziomie 6-9 GB. Pomyślałem sobie, że 4-6 GB na RAM dysk można by wykorzystać...
    Tylko co byłoby najlepiej na taki RAM dysk wrzucić?

  17. Mariusz Kołacz pisze:

    Systemowe katalogi tymczasowe, cache przeglądarek, cache niektórych aplikacji, a poza tym ramdysk można wykorzystać do pobierania plików "jednorazowych". Bardzo często jest sytuacja, że pobieramy coś, używamy tego jeden raz i to wszystko. Do takich celów idealny jest ramdysk. W ostateczności, plik zawsze można przenieść z ramdysku na pendrive lub inną pamięć magazynującą.

  18. Łukasz pisze:

    Pogrzebię w opcjach :)
    Dzięki za odp.

  19. Maciej pisze:

    Można pójść krok dalej i ... zainstalować Windows w RAM Dysku! Potrzebny jest system z możliwością bootowania z VHD i oddzielny program ładujący zawartość VHD do RAM Dysku. Jest jeden informatyk który pokazuje cały proces na YouTube, ma nawet stronę www opisującą jak tego dokonać. Jestem na etapie konfigurowania Win 7 Ultimate 64 bit by zmieścił się w 16 GB RAM. Testowo sprawdziłem w Virtual BOX okrojoną wersję systemu: wyłączona hibernacja, wyłączone ułatwienia dostępu, wyłączony moduł czytania na głos, wyłączony moduł przyjmowania komend głosowych, itp., itd.. Okrojony "świeży" system zajmuje 8GB. 12 GB VHD powinno być w sam raz do tego celu, zostaje wtedy 4GB pamięci operacyjnej. Nadwyżkę programów można zainstalować "nomalnie" na dysku twardym.

  20. Mariusz Kołacz pisze:

    W takim scenariuszu ryzyko utraty danych jest za duże by iść w tę stronę, dodatkowo zapis stanu maszyny z ramdysku na ssd spowoduje jego szybsze zużycie, Wzrost wydajności z pewnością będzie widoczny, lecz nie ma sensu tak kombinować, więcej wad w tym rozwiązaniu niż zalet i z pewnością nie w 16GB RAM, chyba że mówimy o systemie XP.

  21. Maciej pisze:

    Do bootowania systemu z VHD do RAM Dysku ... wystarczy zwykły HDD. SSD nie grzeszą żywotnością/ niezawodnością - nie tylko ze względu na ograniczoną ilość cykli zapisu ale również ze względu na awarie kontrolera pamięci. Sam doświadczyłem awarii SSD po 2,5 roku eksploatacji i nie był to żaden non-stop-zapisywalny dysk serwerowy!. Gdy bardzo zależy nam na żywotności dysku twardego i chcemy doświadczać ekstremalnie szybkiego wstawania systemu to instalujemy dyski w układzie RAID 1. Można wtedy codziennie zapisywać stany maszyny z RAM Dysku bez ryzyka uszczerbku dysku/-ów (tzn. ryzyko de facto wciąż jest - ale jest dość solidne zabezpieczenie). Jedna firma ma np. dyski SSD z 10-letnią gwarancją. W sam raz na RAID 1.

    Co się zmienia gdy "po prostu" wyłączamy komputer?? Mając zainstalowany Service Pack, poprawki, ulubione gry i "stały pakiet" programów i nie ma zmian w rejestrze systemu po wyłączeniu maszyny. Wczytuje się w kółko jedno i to samo.

    Myśląc obsesyjnie o dziurach w systemie, chcąc się zabezpieczyć oraz chcąc mieć zagwarantowaną "prywatność cennych danych w razie włamania" używamy ... szyfrowania danych. Wirusy są już na kontrolerach USB, nawet antywirus ich nie wykryje. Zawsze znajdzie się haker który zdąży dostać się do naszego kompa przed wypuszczeniem najnowszej łatki systemu. Google np. idzie po bandzie i robi kompromitacje Windowsa: znajdują dziury w systemie i dają 90 dni na wypuszczenie łatki. Microsoft nie nadąża wyrabiać się na czas. Nie oszukujmy się - licho nie śpi, nawet gdy mamy "najnowsze" łatki.

    Jak ktoś non stop ostro miesza w systemie to robi użytek wirtualnej maszyny by przetestować różne ustawienia. Ja przykładowo "bawię się" i zainstalowałem okrojonego Win 7 64 bit w Virtual BOX'ie... ale nawet nie na dysku twardym tylko na RAM Dysku. Ściągnąłem Service Pack1 i system "spuchł" do z 8GB do 8,5 GB. Przeglądarka internetowa, Java, Flash Player, sterowniki do karty graficznej aktualizują się co 3-4 miesiące. Aktualizować system w takich warunkach - nie będzie to takie strasznie upierdliwe.

    Jak ktoś non stop instaluje nowe gry wymagające restartu komputera to rzeczywiście nie skorzysta z systemu bootowanego z RAM Dysku. gry to w ogóle specyficzny dział IT, komputer "skazany jest " na okresowe zmiany CPU, zmiany karty graficznej, nie ma tu możliwości stagnacji. Gracze napędzają też produkcję nowych podzespołów do komputerów (karty graficzne do streamowania na żywo, rozdzielczość 4k, usuwanie darcia ekranu, itp., itd.).

  22. Mariusz Kołacz pisze:

    Fakt, nie ma rzeczy, które są niezawodne, gdyby nie psuły się dyski producenci z torbami by poszli ;) Przecież są komórki NAND, które według inżynierów nie zużywają się, dlaczego producenci dysków tego nie zastosowali? Odpowiedź jest chyba oczywista :[ A gdyby nawet zastosowali, to zawsze może popsuć się inny element.

    Jedna firma ma np. dyski SSD z 10-letnią gwarancją

    O której firmie mówisz?

    Co do poprawek, jak chcemy mieć w miarę szybko łatki to przesiądźmy się wszyscy na Linux :)

  23. Maciej pisze:

    Pewnych rzeczy nie da się technologicznie przeskoczyć.

    W przypadku HDD są 2 łożyska toczne i 1 łożysko powietrzne. Łożysko powietrzne wyłącza się w momencie dokowania głowicy. Dokowanie głowicy (niestety) oznacza jej fizyczny kontakt z talerzem i ten kontakt zużywa głowicę. Musiałby być kompresor lub dysk zasilany 100% żeby głowica wisiała non stop nad talerzem. A łożyska... mają ogromny wpływ na pozycjonowanie głowicy. Precyzja ruchów głowicy zależy od luzów na łożyskach. Nie wyobrażam sobie serwisantów kasujących luzy na łożyskach HDD. No chyba że ktoś wpadnie na genialny pomysł by regenerować HDD i będzie umiał to profesjonalnie robić. Jak napęd szwankuje to ... zazwyczaj wymieniamy (nie ma serwisu).

    NAND zawiódł na Marsie, sprzęt "najlepszy w kosmosie" (żartuję). Komórki SSD po prostu zużywają się. Nie znam dokładnego mechanizmu zużywania się komórek - musiałbym na ten temat trochę doczytać. Ale wiem np. że kondensatory potrafią się z czasem zużyć. Nie chcę tu robić reklamy, wpisz sobie 10 year warranty SSD. Może w tej gwarancji jest ukryty jakiś kruczek prawny, np. graniczna ilość zapisu w Terabajtach? Nie wiem, aż tak dokładnie nie sprawdzałem. W każdym razie są dyski SSD z 3, 5, 10 letnią gwarancją. Ja mam dyski SSD z 3-letnią gwarancją.

    RAM Dysk dzierży palmę niezawodności, gwarancja jest tu dożywotnia. To już mówi samo za siebie. Małe zużycie energii (np. w stanie uśpienia) dodatkowo predysponuje ten typ do intensywnego używania. Teraz mam system na SSD i pomimo że SSD jest szybki to ja i tak wolę wprowadzać system w stan uśpienia (RAM pracuje u mnie 24h na dobę).

    Stawianie systemu na RAM Dysku ponoć jest zintegrowane w Alpine Linux i Tiny Core Linux (nie sprawdzałem osobiście, człowiek z branży IT o tym wspomniał w jednym z komentarzy na YT i ja powtarzam za Nim). Myśląc logicznie - to tylko kwestia "automatyzacji" procesu w trakcie bootowania. Linux na pewno dawał się bootować z RAM już wiele lat temu, przecież ten system ma tyle odmian i bywa czasem tak "chudy" że nawet gdy RAM był bardzo drogi to specjaliści na pewno posługiwali się tą techniką.

  24. Mariusz Kołacz pisze:

    Kilka lat temu czytałem, że naukowcy wynaleźli komórki nand, które się nie zużywają, znając realia wszelkie tego typu wynalazki zostaną skrzętnie ukryte nawet dla wojska, w końcu z sektora publicznego firmy produkujące sprzęt mają nie małe zyski.

    Tak w Linuksie można zrobić boot do ram, wtedy obraz systemu przenoszony jest do pamięci i stamtąd odpalany, da się to zrobić bez względu na dystrybucję. W Windows 7 też da się tak zrobić, choćby z obrazami środowiska naprawczego Windows PE.

    Wirtualizacja to dobrodziejstwo z którego należy korzystać, oczywiście o ile mamy wystarczająco dużo pamięci RAM. Z pewnością przy 16GB mając w perspektywie spore zapotrzebowanie na RAM nie zdecydowałbym się na ten krok, ale przy 32GB kto wie :)

  25. Maciej pisze:

    Dodam jeden dość istotny szczegół: chodziło mi o postawienie systemu operacyjnego (host) w RAM, a nie stawianie wirtualnej maszyny (guest) w RAM. Żeby system Win odpalić z RAM instalujemy sterownik Firadisk. Potem używamy Grub4Dos który wczytuje zawartość dysku twardego do RAM i (host) bootuje z RAM. Jak nam zostanie RAM to można postawić wirtualną maszynę (guest) na RAM. Ta metoda działa tylko z systemami Win które dają się zainstalować na VHD (7 Ultimate/ Enterprise, 8 Pro/ Entrerprise).

    Jeśli dwa systemy (host i guest) mają siedzieć razem w RAM to wtedy faktycznie lepiej byłoby mieć 24-32 GB pamięci.

  26. Mariusz Kołacz pisze:

    Dzięki, dodatkowe informacje z pewnością przydadzą się, bo nie wątpię, że znajdą się osoby, które zechcą ten wariant wypróbować, aczkolwiek dla przeciętnego użytkownika raczej zwykły ramdysk to już będzie wystarczające rozwiązanie.

  27. Bartek pisze:

    Witam,

    Czy przy 6GB RAM warto? Ile ustawić MB/GB?

    Pozdrawiam

  28. Mariusz Kołacz pisze:

    @Bartek, tak warto nawet przy 3-4GB RAM, tylko że wtedy będzie trzeba ustawić mniejszy rozmiar.

    Przy 6GB spokojnie możesz oddelegować od 512MB do 1GB. Sugeruję nie ustawiać stałego tylko dynamiczny, 2x wolniejszy ale za to efektywniej zarządzana jest pamięć alokowana przez ramdysk.

    Do ramdysku przenieś cache przeglądarek i tempy systemowe. Przy pobieraniu plików "na dysk" wykorzystuj ramdysk, szczególnie w jednorazowych pobraniach, gdzie ściągasz plik instalacyjny programu, instalujesz i w zasadzie później do niczego on już nie jest ci potrzebny, w takich sytuacjach ramdysk sprawdza się wyśmienicie.

  29. marjaw64 pisze:

    Mariusz, wspaniały artykuł :)
    Od kilku godzin mam zainstalowany ImDisk Toolkit i poza uruchomieniem Ram-Dysku otrzymałem wspaniałe narzędzie typu VirtualCD, oraz do tworzenia pliku ISO z płyty.
    Ale wracając do Ram-Dysku ...
    Mój komputer ;) - laptop - to DELL z 8 GB pamięci RAM i Win 8.1 x64 nie posiada diody LED aktywności dysku ale gdy jest cicho to mogę usłyszeć jak często pracuje głowica. Utworzyłem Ram-Dysk o rozmiarze 2 GB, przeniosłem na niego Temp-y systemowe i moje, tymczasowe pliki internetowe (domontowałem) oraz wskazałem wirtualny napęd jako TEMP dla kilku aplikacji, m.in. 7zip-a.
    I ... komputer wyraźnie ucichł :). A i "pod myszką" chwilami jest szybciej :)
    Co ciekawe ... pomimo to że wszystkie wymienione pliki lądują na wirtualu (sprawdzone!) to jak otworzę menadżera zadań to jakby nie widzi że te 2 GB okupuje wirtual. Wygląda na to że liczone jest tylko tyle, ile RAM-u wirtual wykorzystuje. Ale to wyjdzie przy dalszej eksploatacji.
    I jeszcze mała uwaga na temat artykułu o ustawianiu SWAP-a ...
    Do niedawna używałem komputer PackardBell z 4 MB RAM i Windows 7 x64. Plik wymiany miałem ustawiony na "stały" ok. 4GB jak sugerował Windows. Niestety ... przy ostatnich (systematycznych) aktualizacjach (ok 3 m-cy temu) wywalał się z powodu braku pamięci. Musiałem powiększyć plik wymiany do ok. 8GB. Złotej zasady nie ma ... :(. Aktualnie na tym nowym lapku mam SWAP wyłączony. Wprawdzie moje aplikacje to tylko LibreOffice, Inkscape, Gimp z obrazkami do kilkunastu MB oraz CodeBlocks, ale póki co ... nie było problemów.
    Dzięki za profesjonalne i bardzo rzeczowe informacje.
    Pozdrawiam :)

  30. Mariusz Kołacz pisze:

    @marjaw64, testowałem wiele narzędzi do tworzenia ramdisk w Windows i zdecydowanie ImDisk Toolkit jest najlepszy, dlatego też zarekomendowałem go na blogu :)

  31. Marcin pisze:

    Witam, mam nietypowy przypadek. Czy jakiś fachowieć mógłby ocenić sens tworzyenia ramdisku dla następującej konfiguracji :
    IBM x61s core2duo 1,6 GHz,
    SSD 120 GB Goodram c100,
    DDR2 RAM 4GB (2x 2GB 667 MHz) lub DDR2 RAM 2GB 667 MHz + 4 GB 800 MHz.

    Czy na DDR2 też warto? i czy można "mieszać" dwie różne kości? i ewentualnie jak zrobić by jedną kość 2 GB 667 fizycznie przeznaczyć na ramdisk, a drugą 4GB 800 MHz w całości na system?

  32. Mariusz Kołacz pisze:

    W przypadku dysku SSD zawsze warto, nawet przy 3GB RAM.

    Dziwi mnie że komp w ogóle odpalił ci z kośćmi o różnych specyfikacjach. Kości powinny być tego samego typu, z jednakowymi parametrami, dotyczy także CAS.

  33. Wojtek pisze:

    Chciałem utworzyć pod swoją Vistą HP 32bit z 8 GB RAM (system tyle też widzi) RamDisk lecz otrzymuje błąd: The volume cannot be mounted. Zainstalowałem JmDiskTk v. 9.22.00. Co robię nie tak? Proszę o pomoc. Zaznaczam, że nie jestem specem informatycznym.

  34. Mariusz Kołacz pisze:

    Dziwne bo standardowo system 32 bitowy nie powinien widzieć 8GB dlatego że architektura systemu 32 bit ogranicza adresowanie pamięci RAM i max. można wykorzystać do 3,5GB. Są metody na połowiczne ominięcie limitu między innymi dopisanie przełącznika PAE (max 4GB), lub aplikacje modyfikujące kernel, które potrafią częściowo ominąć ograniczenia, jednak wedle mojej wiedzy i tak nie będzie możliwe całe zaadresowanie pamięci. Kiedyś widziałem na zagranicznych forach apki, które potrafiły z wolnej niewykorzystywanej przestrzeni zrobić ramdysk, nie pamiętam dokładnie w jaki sposób ale prawdopodobnie chodziło o tworzenie ramdysku na sprecyzowanym offsecie, więc jeżeli szukasz rozwiązania to idź w tym kierunku, ewentualnie zastanów się nad migracją na 64 bitowy system operacyjny.

  35. Wojtek pisze:

    Jest tak jak jak napisałem. Włączyłem też PAE. Menedżer zadań wykazuje pracę na 3324 MB RAM z czego przeciętnie wykazuje wykorzystywanie ponad 61% tego zasobu. Dlatego szukałem rozwiązania w RamDysku. Ale z tego co piszesz widzę, że nie znajdujesz rozwiązania dla błędu, który u mnie wystąpił przy tworzeniu RamDysku. Nadmieniam, że ten sam błąd miałem przy próbie utworzenie 4, 3 i 3 GB.

  36. Mariusz Kołacz pisze:

    Wojtek napisałem już że architektura systemu (32bit) ogranicza adresowanie. Za pomocą Im Disk nie stworzysz woluminu o takich rozmiarach, nawet o rozmiarze 3GB, ponieważ system domyślnie pochłania około 600-700MB + domyślnie ładowane aplikacje. Mogę się założyć o duże piwo, że jak rozmiar ustawisz na przykład na 500MB to ramdysk bez problemu stworzysz.

  37. irondick pisze:

    U mnie po restarcie system informuje o utworzeniu pliku wymiany na hdd. Mam zaznaczony start RD razem z systemem. ock?

  38. Mariusz Kołacz pisze:

    Musiałeś zaznaczyć "Create virtual disk in virtual memory".

  39. irondick pisze:

    Dzień dobry.
    Nie sądzę, jak to sprawdzić? Mam najnowszą wersję programu RD. Tymczasem treść komunikatu:
    System Windows utworzył tymczasowy plik stronicowania na komputerze, ponieważ wystąpił problem z konfiguracją pliku stronicowania podczas uruchamiania komputera. Całkowity rozmiar pliku stronicowania dla wszystkich stacji dysków może być nieco większy od podanego rozmiaru. Może trzeba by coś zmienić w pliku rozruchowym Win7?

  40. Mariusz Kołacz pisze:

    Masz zupełnie inny problem nie dotyczący bezpośrednio ramdysku i tematu jego tworzenia. Pozdrawiam!

  41. irondick pisze:

    Jak to inny, problem pojawił się po instalacji ImDiska. Masz jakieś sugestie?

  42. Mariusz Kołacz pisze:

    Nie dotyczący ramdysku. Użyj wyszukiwarki na stronie supportu Microsoftu, wpisz komunikat o błędzie lub kod błędu i masz tam dokładnie opisany błąd i potencjalne rozwiązania. W razie wątpliwości pisz na forum supportu Microsoftu lub na forum twórców imdisk. Pozdrawiam!

  43. krzysiu pisze:

    tl;dr: darujcie sobie, bo dysk w RAM (RAM-dysk to straszna kalka językowa) miał ostatni raz sens w Windowsie 98, od biedy w XP, a w każdym późniejszym powoduje spory spadek wydajności. A nawet w starych systemach okazuje się, że potrzeba wysokiego zrozumienia zarządzania pamięcią w Windowsie. Czemu? Proszę, oto szczegóły.

    Przyśpieszenie jest możliwe tylko wtedy, kiedy RAM dysk jest wykorzystany w niemalże 100% (co jest niemożliwe, bo wtedy nie będzie miejsca na operacje), a do tego robimy dziesiątki, setki, tysiące operacji na godzinę - przenoszenie, linki, analiza - które pozwolą nam stwierdzić co w tej sekundzie jest najbardziej optymalne, a co już warto wyrzucić. Komentarz długi, więc wpierw polecam pobranie Sysinternals RamMap, przejść do File Summary i odpowiedzieć sobie na pytanie - ile z tych plików braliście pod uwagę, żeby je przenieść na zmapowany w pamięci dysk? Ile tych plików jest w miejscach polecanych w artykule? I najważniejsze: czy macie na tyle wiedzy (czy ktokolwiek ma!), żeby stworzyć identyczną listę od zera czy może jednak lepiej polegać na algorytmach dopracowywanych od lat, na które poszły grube miliony dolarów?

    Pomijacie bardzo ważną rzecz. Tworząc tworząc system plików w pamięci RAM jest jej oczywiście mniej, w tym także mniej dla systemu. Bardzo rzadko RAM jest pusty, szczególnie od czasów Visty (choć wcześniej też), a jak jest, to znaczy, że nie potrzeba nic tam pchać. W końcu i tak w RAM są np. wykorzystywane pliki tymczasowe i wszystkie inne, które są potrzebne - bez naszej ingerencji. Zresztą sprawdzenie ile jest wolnego RAM-u to trudne zadanie i nie ma nigdy jednej odpowiedzi, bo to nie czasy 486 i nie ma jednej definicji na "zajęte miejsce". Zresztą to samo z określeniem ile program zajmuje pamięci RAM. Jakoś nie wierzę, że testowaliście wasze rozwiązania choćby w RAMMap. Windows, dzięki m.in. technologii Prefetch czy SuperPrefetch, ładuje do pamięci pliki i programy często używane, lub te, które prawdopodobnie będą niedługo użyte (uruchamiasz zawsze X, potem Y, więc po X Win ładuje Y do RAM; pliki z katalogu X czytasz w całości, więc przy idle warto załadować resztę pliku itd.). Sprawa się komplikuje, bo okazuje się, że część pliku może być na dysku, część w pamięci RAM, ale zaraz z niej wypadnie, a część będzie w RAM choćby nie wiem co. Mówię o tym, żeby przybliżyć, że przeniesienie plików tymczasowych przy tak trudnej rzeczy (której aktualni eksperci uczą się po 15-20 lat wyłącznie tej części systemu) to gorszy poziom niż nowicjusz - bo on przynajmniej nie uczy innych i tym samym nie szkodzi.

    Dysk w RAM to odebranie systemowi miejsca, które wykorzystuje on do bezobsługowego i automatycznego przyśpieszenia działania, na ręczne zarządzanie. Tylko że z ręcznym jest taki problem, że zmiany dynamiczne nie są możliwe, a zdajemy się na własne doświadczenie - czasem nikłe, jak tutaj. Folder %TEMP% w RAM to wyjątkowe marnowanie miejsca i spowalnianie systemu (j.w. - przez odebranie miejsca na automatycznie działania). To stosunkowo rzadko wykorzystywany folder. Patrząc na operacje na dysku, jest wiele innych (systemowych), które powinny być w pamięci... i są, dopóki się ich nie wywali przy przejściu na "ręczne sterowanie".

    Pokazujecie niedoświadczonym jakie to fajne, bo RAM jest taki szybszy, ale zrobicie rzeczywistych testów wydajności systemu. To jakby kupując auto sprzedawca nam powiedział, że jest nowa, specjalna droga, na której można jechać 500 km/h. Tylko co to ma do prędkości auta? I może warto powiedzieć, że ta specjalna droga zniszczyła zwykłe i powstają na nich korki. Ale co tam, 500 km/h, hulaj dusza!

    A co jeśli rzeczywiście mamy kilka GB wolnego miejsca w RAM? No trzeba sobie odpowiedzieć na ile nasze działania coś poprawią. Jeśli przyśpieszymy proces o 5 sekund, a dojście do tego zajmie nam godzinę (przy czym na następny dzień okaże się to już bez sensu), to czy warto? Co jeszcze, poza tym co już jest, chcemy tam dorzucić i w jakim celu? No i spójrzmy na szczytowe wartości, choćby przez Process Hacker. Czy rzeczywiście zawsze jest tyle miejsca?

    A na koniec - jasne, superusers są czasem w stanie określić co powinno mieć wyższy priorytet. Człowiek nigdy nie prześcignie tych algorytmów (bo to zwykła matematyka i analiza statystyczna oraz operacje na plikach), ale może je ulepszyć, stuningować, jeśli ma dostatecznie dużo wiedzy. No i w takich przypadkach dysk w RAM się... też nie przyda. Za to przydadzą się specjalistyczne narzędzia pozwalające zarządzać priorytetem stronicowania. Czyli co prawda cały czas mamy włączony program X, rzadko kiedy plik Y, ale jak X wypadnie do pliku stronicowania, to się nic nie stanie, a zależy nam na jak najszybszej reakcji na Y przy operacjach typu RT. No dobra, wtedy sobie ustawiamy po swojemu, ale to też musi być poprzedzone analizą, która nie da odpowiedzi, a jedynie drzewo decyzyjne, które nie wiemy jak się potoczy. Zazwyczaj to ma sens przy zastosowaniach specjalistycznych, gdzie komputer wykorzystujemy do bardzo konkretnych celów - nie jak domowy użytkownik, który trochę korzysta z internetu, trochę pracuje, trochę pisze, a trochę gra i ogląda pron.

    Bez obrazy dla komentujących, bo oni po prostu uwierzyli, że wiecie o czym mówicie.

  44. Mariusz Kołacz pisze:

    Panie "ekspercie od ramdysków" dziękuję za długi komentarz :)
    Przyznam, że większych bzdur w Pana komentarzu już dawno nie czytałem, ale cóż takie czasy, młodzież musi na siłę dzisiaj udawać "ekspertów". Bez urazy @Krzysiu.
    Pozdrawiam!

  45. irondick pisze:

    @Krzysiu to wytłumacz mi choćby fakt, że po przeniesieniu do RD plików tymczasowych np. RAR i Opery programy te działają jak Pudzian na koksie? Swoją drogą nie mam pomysłu na mój problem z poprzedniego posta.

  46. Mariusz Kołacz pisze:

    @irondick, dobrze będzie jak napiszesz na forum imdisk http://reboot.pro/forum/59-imdisk/
    Autor softu lub użytkownicy z pewnością pomogą, jeżeli tylko istnieje rozwiązanie.

  47. drive pisze:

    Czy to nie jest czasem to samo jak bym utworzył nową partycję i do niej przypisał(linkował) za pomoą cmd katalogi cache przeglądarki ?

  48. Mariusz Kołacz pisze:

    Podobna zasada, lecz "partycja" jest w pamięci RAM, do której dostęp jest wielokrotnie szybszy niż do partycji na dysku SSD, nie mówiąc już o klasycznym HDD. Katalogi przeglądarek cache są przeniesione na ramdysk za pomocą dowiązań, przez co fizycznie pliki zapisywane są na ramdysku co przyśpiesza działanie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Poinformuj mnie o nowych komentarzach do tego wpisu.