Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

[ramdisk] 6400 MB/s

RAM disk & 6400 MB/s
Używanie dysku z pamięci RAM.

Dzisiejsze dyski i pamięci potrafią wiele, lecz poznajmy troszkę historii...

Infografika:

Pierwsze fizyczne dyski twarde, które osiągnęły transfer na poziomie 157 MiB/s pojawiły się dopiero w kwietniu 2010 roku.

W 2007 roku pojawiły się pamięci RAM, które pozwalają na operacje na danych z szybkością od 6400 MiB/s do 12800 MiB/s.

RAM disk

Kto z nas nie chciałby mieć dysku, na którym bez problemu można wykonać operację z taką szybkością?

Nasze oczekiwania może spełnić RAM disk, czyli dysk z pamięci RAM.

W dzisiejszych komputerach pamięć RAM to zwykle ponad 2GiB, więc użycie 25% czy 50% tej pamięci to nic takiego, ponieważ włączony komputer z codziennie używanym oprogramowaniem zajmuje około do 768 MiB pamięci.

Jakie są zalety korzystania z RAM disk'u?

- ekstremalna wydajność
- brak "szurania" dysku

Linux & RAM disk

Użytkownicy systemów opartych na jądrze Linux'a mają łatwe zadanie. W każdej dystrybucji jest domyślnie katalog:/dev/shm

Ten katalog to nic innego jak folder w pamięci RAM.

Na co dzień używają go takie aplikacje jak na przykład "Pulseaudio".

Standardowo zajmuje on dynamicznie w miarę rosnącego zapotrzebowania do 50% pamięci RAM.

Windows & RAM disk

Wystarczy zainstalować program "Dataram RAMDisk":
Link - http://memory.dataram.com/products-and-services/software/ramdisk

W programie ustawiamy rozmiar RAM disk'u oraz system plików jaki chcemy na nim używać.

Program automatycznie ograniczy możliwość ustawienia maksymalnego użycia pamięci dla naszego RAM disk'u, więc nie musimy się o to martwić.

Praktyka & RAM disk

Testy wydajności:

Przykładowo możemy tam utworzyć katalog podręczny naszej przeglądarki:

W moich testach Opera po takiej operacji jest dużo szybsza od Chromium (Google Chrome) korzystającego z dysku twardego.

1. Tworzenie folderu "opera/cache":
1.1. Przykład dla Linux'a:mkdir /dev/shm/opera mkdir /dev/shm/opera/cache1.2. Dla Windows:W RAM disk'u tworzymy folder "opera", a w nim folder "cache"2. W polu adresu w Operze wpisujemy:opera:config#UserPrefs|CacheDirectory4Następnie wciskamy ENTER.
2.1. Tam wpisujemy dla Linux'a:/dev/shm/opera/cache2.2. Dla Windows'a:X:\opera\cache(Gdzie "X" to literka waszego RAM disk'u)
3. Na dole rubryki ustawień klikamy "Save" (lub "Zapisz").

GOTOWE!

Podobnie można zrobić w innych przeglądarkach.

Należy pamiętać, że zawartość RAM disk'u jest kasowana co restart, ponieważ RAM to pamięć ulotna, która po wyłączeniu zasilania przepada.

Tak oto umiecie teraz wykorzystać superszybki dysk z pamięci RAM

----------------

Infografika własna.

Zdjęcia pochodzą ze strony:http://www.google.pl/images?q=dataram+ramdisk 

Komentarze

0 nowych
webnull   9 #1 26.02.2011 14:44

No, no nie wiedziałem, że windowsami się bawisz :>

Dobry artykuł, z Chromium można zrobić to samo ;-)

XeonBloomfield   5 #2 26.02.2011 14:48

@webnull | 26.02.2011 14:44:

Kiedyś miałem już styczność z programem "Dataram RAMDisk" na Windows'ie, więc tylko o nim opowiadam i dałem przykłady.

  #3 26.02.2011 16:08

Gratulacje bardzo dobrego artykułu.

Żadko trafia się coś tak użytecznego.

djDziadek   16 #4 26.02.2011 16:10

Dobre, dobre, ale pamiętam czasy kiedy RAMDrive (bo tak to się nazywa z Angielska) tworzyło się w DOS-ie w Win 98 i ME aby je przyspieszyć, zamierzchłe to czasy i wtedy wzrost wydajności był spory, przy dzisiejszych maszynach jest zauważalny ale juz nie taki duży.
Brawo dla autora za podejście do tematu i lekcję dla użytkowników :)

skandyn   9 #5 26.02.2011 16:26

Przydatny artykuł, bo niektórym programom Linuksowym bardzo przydałby się dopalacz i właśnie trzeba będzie to wypróbować. Jeśli chodzi o Windows to ja żeby przyśpieszyć pracę systemu wyłączam wszystkie niepotrzebne usługi m.in. indeksowanie, przywracanie systemu oraz oczywiście pełna optymalizacja komputera (defragmentacja, czyszczenie rejestru i pamięci, itp.). Tak więc opisany tu przykład moim zdaniem ma bardziej zastosowanie pod systemy spod znaku pingwina.

Pozdrawiam.

XeonBloomfield   5 #6 26.02.2011 18:23

@djDziadek | 26.02.2011 16:10:

Uruchom "Dataram RAMDisk" i skonfiguruj u siebie, a potem wykonaj coś tam na danych...

"przy dzisiejszych maszynach jest zauważalny ale juz nie taki duży."

Zoabczysz, że i dyski i pamięci RAM poszły do przodu.

  #7 26.02.2011 20:27

Można to wykorzystać dla przyśpieszenia pracy programów spod Wine? Na przykład tymczasowo przenieść "drive_c" do ramu?

XeonBloomfield   5 #8 26.02.2011 20:31

@PavloAkaLogan | 26.02.2011 20:27:

Jeżeli masz wystarczająca dużo pamięci RAM to powiem, że na forach internetowych ścigają się na sekundy uruchomienia Windows'a XP spod VirtualBox'a z dyskiem w RAM disk'u.

Udaje im się tam uruchomić XP w ciągu około 8 sekund.

Więc jak najbardziej przyśpieszy to działanie aplikacji.

Przykładowo:
Zamiast czytać dane z prędkością 80 MiB/s będzie czytało je z prędkością 6400 MiB/s - tak samo z zapisem.

Wolfgar   7 #9 26.02.2011 20:52

Dlaczego nie korzystasz z jednostek w układzie SI?

dragonn   10 #10 26.02.2011 20:59

Ja mam cały profil Firefoksa w Ramdisk-u, dzięki czemu mam prawię przy normalnej pracy na kompie zerowe IO dysku twardego. Oczywiście by nie tracić danych napisałem sobie prostu daemon który przy zamykaniu systemu zapisuje całość na dysk twardy, a przy starcie znowu wczytuje, świetna sprawa.

DawidDS4   5 #11 26.02.2011 21:11

Niby wszystko fajnie, gdyby jeszcze nie kasowało po restarcie.

Vifon   5 #12 26.02.2011 21:33

@Wolfgar
Pewnie dlatego, że one nie mają sensu.

XeonBloomfield   5 #13 26.02.2011 21:53

@Wolfgar | 26.02.2011 20:52
oraz
@Vifon | 26.02.2011 21:33:

Dokładnie. Jednostki w układzie SI nie mają sensu.

Na obudowach dysków twardych masz przykładowo:
"1TB = 1.000.000.000.000 Bytes"

1TiB to 1 x 1024 GiB = 1024 GiB.

webnull   9 #14 26.02.2011 22:29

@dragonn
Ja bym dla pewności zapisywał co pięć minut...

XeonBloomfield   5 #15 26.02.2011 22:35

@dragonn | 26.02.2011 20:59:

Ja posiadam cały profil Opery ( ".opera" ) na RAM disk'u, ale jako przykład dałem coś "bezpieczniejszego" czyli samo cache.

  #16 26.02.2011 23:42

hmmm, sprawa stara ale jara. Dziwne, puscilem milion wpisow SQLite i zadzialalo tak samo jak na dysku (12s) w sumie to co moglem sie spodziewac dane zajmuja malo 32mb wiec nie problem tu z zapisem tylko z PHP.

XeonBloomfield   5 #17 26.02.2011 23:52

@djDziadek | 26.02.2011 16:10:

Dzisiaj po angielsku to się nazywa: "RAM disk".

http://en.wikipedia.org/wiki/RAM_disk

trux   10 #18 27.02.2011 01:22

W Amidze to standard :)
Niemniej fajny wpis, dobra robota.

NRN   9 #19 27.02.2011 02:56

@dragonn, mistrzu, to weź tu się pochwal swoim kodem, i może dorzuć wersję dla kochanej Windy nr 7 :P

BenderBendingRodriguez   6 #20 27.02.2011 03:22

@skandyn
"Przydatny artykuł, bo niektórym programom Linuksowym bardzo przydałby się dopalacz i właśnie trzeba będzie to wypróbować. Jeśli chodzi o Windows to ja żeby przyśpieszyć pracę systemu wyłączam wszystkie niepotrzebne usługi m.in. indeksowanie, przywracanie systemu oraz oczywiście pełna optymalizacja komputera (defragmentacja, czyszczenie rejestru i pamięci, itp.). Tak więc opisany tu przykład moim zdaniem ma bardziej zastosowanie pod systemy spod znaku pingwina."

Jesteś trochę niespójny w tym co piszesz. Odnośnie linuxa piszesz o programach a odnośnie windowsa o samym systemie. Nie widzę powiązania. Co do przydatności tego to wybacz ale u mnie (gentoo) każdy program startuje w maksimum sekundę/dwie i jakoś nie widzę potrzeby używania ramdisku do tego. Tak więc opisany tutaj przykład tyczy się tak samo Windowsa jak i linuxa z tym że Linuxa da się praktycznie zainstalować na takim ram dysku trochę kombinując a windowsa nie.

  #21 27.02.2011 09:41

@BenderBendingRodriguez 27.02.2011 3:22:

Jak pisał XeonBloomfield ludzie z 8GB RAM uruchamiają tam Windowsa XP w około 8 sekund.

Minimalna instalacja Debiana 5 (szkielet systemu do rozbudowy) zajmuje po zainstalowaniu około 150 MB, a po uruchomieniu około 10 - 40 MB RAM (z włączonymi usługami typu serwery różnego typu).

Dobry UPS i system może tam chodzić.

4lpha   9 #22 27.02.2011 10:06

@BenderBendingRodriguez
U mnie podobnie ;) Po kompilacji całego systemu wszystko śmiga... Nigdy wcześniej nie używałem tak szybkiego OpenOffice'a. Z dyskiem SSD/ustawieniem ramdisku nie wiem czy coś by przyspieszyło, bo już śmiga.

BenderBendingRodriguez   6 #23 27.02.2011 10:46

@sunbeam96

Powiem szczerze że może być dobre w przypadku dużych folderów jak foldery cache bo pliki binarne/biblioteki i tak są ładowane do pamięci np. z pomocą preload aczkolwiek jest specjalny temat na forum gentoo żeby ładować część systemu do pamięci ram :)

XeonBloomfield   5 #24 27.02.2011 11:21

@NRN | 27.02.2011 2:56:

Zerknij na mój kod:

#
# ramdisk - "ln -s /dev/shm /opt/ramdisk"
mkdir /opt/ramdisk/xeon
chown -R xeon /opt/ramdisk/xeon
mkdir /opt/ramdisk/temp
chmod -R 777 /opt/ramdisk/temp
# ramdisk - opera
cp -r /home/xeon/.opera-bk /opt/ramdisk/xeon/.opera
chown -R xeon /opt/ramdisk/xeon/.opera
#
#

BenderBendingRodriguez   6 #25 27.02.2011 11:30

@XeonBloomfield

Nie wiem czy nie lepsze by było wykorzystanie tmpfs zamiast shm, z tego co czytałem to shm jest wykorzystywany przez system w specjalnym celu i nie powinno się tam nic ładować.

kamil_w   10 #26 27.02.2011 11:44

RAM disk to fajna sprawa.

@skandyn
"Jeśli chodzi o Windows to ja żeby przyśpieszyć pracę systemu wyłączam wszystkie niepotrzebne usługi m.in. indeksowanie, przywracanie systemu oraz oczywiście pełna optymalizacja komputera (defragmentacja, czyszczenie rejestru i pamięci, itp.)."

Akurat wyłączenie przywracania systemu nie wpływa na szybkość działania systemu. Jedyną zaletą tego rozwiązania jest odzyskanie kilku GB na dysku twardym. Jeśli chodzi o defragmentację to napisz, że korzystasz ze zwykłego dysku magnetycznego, bo w SSD defragmentacja już nic nie daje.

@dragonn
"Ja mam cały profil Firefoksa w Ramdisk-u, dzięki czemu mam prawię przy normalnej pracy na kompie zerowe IO dysku twardego. Oczywiście by nie tracić danych napisałem sobie prostu daemon który przy zamykaniu systemu zapisuje całość na dysk twardy, a przy starcie znowu wczytuje, świetna sprawa."

W programie Dataram RAMdisk taka funkcja jest już zaimplementowana i znajduje się bodajże w zakładce "Load & Save".

------------
We wpisie omawiana jest tylko jedna zaleta ramdisku - szybkość działania, ale rozwiązanie to ma jeszcze jedną zaletę, IMHO znacznie większą. Po stworzeniu dysku w pamięci RAM i wrzuceniu do niego wszystkich katalogów z plikami tymczasowymi zmniejsza się w znacznym stopniu liczba zapisu/odczytu na dysku twardym, a co za tym idzie - zwiększa się jego żywotność. W przypadku dysków SSD jest to ogromna zaleta, ale w dla dysków magnetycznych (standardowych talerzowych) również nie jest to bez znaczenia.

kamil_w   10 #27 27.02.2011 11:47

@BenderBendingRodriguez
Zgadam się z Tobą w 100%. tmpfs jest odpowiedniejszym rozwiązaniem.

dragonn   10 #28 27.02.2011 12:30

@NRN proszę bardzo http://wklej.org/id/483471/ tylko raczej nie da się tego zaimplementować w win 7, całość jest zaprojektowana pod arch (dla innych dystrybucji trzeba pewnie całość trochę zmodyfikować), należy to zapisać jako /etc/rc.d/ram-firefox i dodać do DAEMONS w /etc/rc.conf, sam ramdisk jest tworzony za pomocą /etc/fstab i tmpfs (wystarczy na profil Fx 256MB). W /media/ramdisk-backup/ należy umieścić profil który ma być kopiowany do ram, a pod /media/ramdisk/ jest montowany ramdisk, oczywiście należy pamiętać o odpowiednich uprawieniach do folderów. @webnull nie mam takiej potrzeby, całość jest tak zaprojektowana że w przypadku nieprawidłowego zamknięcia systemu tracę tylko to co zrobiłem od uruchomienia systemu, profil cały czas sobie siedzi na dysk, tylko przy wyłączaniu systemu jest nadpisywany przez nowszą wersję z ramdisk-a.

XeonBloomfield   5 #29 27.02.2011 16:31

@BenderBendingRodriguez | 27.02.2011 11:30:

df -alh
tmpfs 1007M 4.5M 1002M 1% /dev/shm

"/dev/shm" służy do wymiany plików pomiędzy aplikacjami lub składowania ich gdy potrzeba ogromnej prędkości operacji na danych.

"shm" to skrót od "Shared memory"

BenderBendingRodriguez   6 #30 27.02.2011 17:14

@XeonBloomfield

Jest to kwestia debaty. Według mnie raczej powinno się zrobić osobny punkt montowania.

Chciałbym dodać że takiego ram disku możnaby używać tak samo jak cache z firefoxa/opery/innego psa jako miejsce trzymania logów (tylko nie tych krytycznych), polecam wpis na forum gentoo w sekcji how to.

Innymi słowy da sie praktycznie zlikwidować jakikolwiek zapis na dysku za pomocą dysku ram i co najlepsze nie trzeba instalować żadnych programów do tego (zresztą w windowsie też nie trzeba).

XeonBloomfield   5 #31 27.02.2011 17:22

@BenderBendingRodriguez | 27.02.2011 17:14:

Zrobiłem w C++ prostą aplikacje na 16 wątkach.

768 MB w ułamku sekundy zapisała do "/opt/ramdisk" (mój link do "/dev/shm").

Rozumiem, że można o tym jeszcze długo rozmawiać, lecz nie ma problemu z używaniem tego do czegokolwiek.

Jak już pisałem Pulseaudio używa tego katalogu domyślnie.

darekry   4 #32 27.02.2011 18:34

fajna sprawa. szczególnie na laptopach z hdd - przy odrobinie chęci da się całkowicie wyeliminować I/O z dysku i wstrzymać pracę dysku, co pozwoli zaoszczędzić trochę energii. Oglądasz film, i nic nie szumi ;-)
(najprościej osiągnąć prze odmontowanie systemu plików, albo przez dowiązania symboliczne do kilku miejsc jak /var/log )

  #33 28.02.2011 14:05

skorzystałem z porady i moja opera na ubuntu dostała skrzydeł, ponieważ w laptopie mam bardzo wolny dysk (4200RPM 1.8") ciekawy jestem jak by to działało gdyby przenieść cały profil do ramu tak jak pisał dragonn

  #34 28.02.2011 18:30

XeonBloomfield - zauważyłem, że dodajesz do nazw katalogów zwrot '-bk' - czemu to ma służyć? Przytoczę linijkę Twojego kodu:
cp -r /home/xeon/.opera-bk /opt/ramdisk/xeon/.opera
To samo wczoraj, proponowałeś mi wykonanie polecenia mv dla drive_c, ja to pominąłem oczywiście i oczywiście działało - po co dodawać, skoro to i tak działa?

NRN   9 #35 01.03.2011 12:21

Na DDR3 w Asusie Lamborghini VX6, tryb oszczędzania energii, zasilanie bateryjne, wyniki są następujące:

-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

Sequential Read : 1081.366 MB/s
Sequential Write : 1066.966 MB/s
Random Read 512KB : 1007.206 MB/s
Random Write 512KB : 931.565 MB/s
Random Read 4KB (QD=1) : 112.372 MB/s [ 27434.7 IOPS]
Random Write 4KB (QD=1) : 99.760 MB/s [ 24355.3 IOPS]
Random Read 4KB (QD=32) : 99.700 MB/s [ 24340.7 IOPS]
Random Write 4KB (QD=32) : 90.803 MB/s [ 22168.7 IOPS]

Test : 50 MB [R: 0.0% (0.0/511.0 MB)] (x5)
Date : 2011/03/01 12:20:56
OS : Windows 7 SP1 [6.1 Build 7601] (x64)


Lepiej niż HDD, to nie ulega wątpliwości, ale gdzie moje 6400 - 12800 MB/s?

  #36 01.03.2011 18:01

A ja mam pytanie: jak przy zamykaniu np. opery zrobić tak, żeby folder z ramdisku przekopiował się na dysk. Tak żeby podczas ponownego uruchomienia komputera mieć te same zakładki co podczas korzystania z ramdisku?

NRN   9 #37 02.03.2011 13:48

W ustawieniach Save&Load w generatorze (dla Windowsa) lub skryptem (masz go wyżej w komentarzach; dla Linuxa)

  #38 02.03.2011 15:12

Ten skrypt jest dla kopiowania profilu przy uruchamianiu komputera, żeby skopiować profil z dysku do ramdisku a ja chciałbym, żeby podczas zamykania opery zawartość ramdisku przekopiować na dysk celem aktualizacji profilu.

XeonBloomfield   5 #39 02.03.2011 21:41

@PavloAkaLogan | 28.02.2011 18:30:

Dodanie końcówki "-bk" ma oznaczać nic innego jak "backup".

W przypadku odcięcia zasilania lub zawieszenia maszyny następuje "przepadnięcie" zawartości pamięci RAM, więc jest to dla bezpieczeństwa konieczne.

XeonBloomfield   5 #40 02.03.2011 21:45

@NRN | 01.03.2011 12:21:

Pamiętaj, że prędkość 6400 - 12400 MiB/s jest na bezpośrednim poziomie dostępu do pamięci, czyli CPU - RAM.

Wynik nie najwyższy, lecz widać różnice na pierwszy rzut oka z HDD.

XeonBloomfield   5 #41 02.03.2011 21:46

@pbrw1986 (niezalogowany) | 01.03.2011 18:01:

http://wklej.org/id/483471/

O to chodzi.

Jest to skrypt dla Firefox'a, lecz łatwo go przekodować na potrzeby Opery.

NRN   9 #42 05.03.2011 02:12

@XeonBloomfield | 02.03.2011 21:45
Ja rozumiem, że to na tym poziomie transfer, ale porównaj to do danych ze screena. Ja nie wiem jak bardzo "wyczynowa" musiała to być pamięć, żeby uzyskać wynik niemal 4 razy lepszy od mojego...

XeonBloomfield   5 #43 06.03.2011 15:47

@NRN | 05.03.2011 2:12:

Ja również posiadam wynik dużo lepszy od twojego i to na DDR2...

Wcale taka wyczynowa nie musiała więc być.

Kaworu   12 #44 10.03.2011 19:20

Masz źle podane prędkości SATA. 3Gbps SATA to jakieś 300MiB/s (minus protokół). Dzieli się przez 10, bo SATA używa kodowania symboli 8b/10b.

  #45 14.03.2011 00:41

moje wyniki:
http://wgrajfoto.pl/pokaz/img0311/hdtune_benchmark_cec8.png
Co do programu to jest kiepski bo po resecie brak w moj komputer utworzej tam partycji z pamieci ram pomimo ze raz jest nadal uzywana przez ten program. Trzeba dac stop ramdisc i ponownie start ramdisc.
Dużo lepszym programem jest VSuite Ramdisk który to ma wszystko co potrzebuje niestety jest płatny lub jeszcze lepszy RamDisk Plus 11 takze płatny.

  #46 21.06.2012 16:26

Używam DataRAM Ramdisk w wersji 3.5.130. Ze względu na fakt, ze posiadam system na dysku SSD, wszelkie śmieci systemowe, przeglądarki internetowej, a nawet pagefile (mimo 4GB ram ustawilem pagefile poniewaz uzywam takze programow, ktore wymagaja pagefile) trafiają do ramdysku (Mam 8GB - 4 dla Windows XP, a resztę jako właśnie RAMDYSK). Jest tam opcja manualnego ustawienia czasu oczekiwania na inicjalizacje RAMDYSKU, najmniejsza możliwa wartość to 60 sekund, co powoduje, ze windows uruchamia się dłużej o te właśnie 60 sekund. Czy jest to konieczne? Czy da się jakoś ta wartość zmniejszyć? Czy istnieją inne tego typu programy, które nie wydłużają startu systemu?

Vanguard1990   2 #47 07.03.2014 18:26

Jak na Windows 8.1 Softperfect Ram Disk zrobić autobackup dysku ram "z"? Może jakimś innym programem?