Dlaczego dziś miałby być używany RAMdisk?

23

Po przeczytaniu tego pytania zacząłem myśleć:

„Hej, co się stało z tymi narzędziami dyskowymi RAM, które zwykliśmy uruchamiać w dawnych czasach DOS?”

Od lat nie słyszałem o dyskach RAM, ale dlaczego? Pamięć jest wciąż szybsza niż dysk i mamy wiele obu.

Dlaczego dyski RAM nie są dziś w użyciu?

Alex Angas
źródło
1
System operacyjny Amiga nadal domyślnie używa ramdysku.
grawity

Odpowiedzi:

32

Dlaczego dziś używam RAMdisk: adresowanie 32-bitowego limitu pamięci RAM

Obecnie muszę uruchomić 32-bitowy system operacyjny z powodu problemów ze zgodnością z niektórymi programami do pracy. Mój komputer ma znacznie więcej pamięci RAM niż Windows XP Professional, więc utknąłem z 3 GB pamięci fizycznej.

Po uderzeniu o ścianę 3 GB komputer przejdzie do korzystania z pliku stronicowania. Na szczęście istnieje oprogramowanie, które pozwala tworzyć dyski RAM z pamięci RAM niedostępnej dla systemu operacyjnego w środowiskach 32-bitowych!

SuperSpeed ma program o nazwie RamDisk, który pozwoli ci to zrobić. Inną opcją jest oprogramowanie Vsuite Ramdisk (oba różnią się nieznacznie - zobacz listę funkcji, aby zobaczyć, która spełnia Twoje potrzeby).

Nie reklamuję specjalnie żadnego oprogramowania, ale jest kilka, z którymi się zetknąłem, które pozwalają wykorzystać część pamięci RAM poza adresowalnym zakresem 32-bitowego systemu operacyjnego.

Chociaż nie jest to prawie tak dobre, jak system operacyjny ma bezpośredni dostęp do pamięci RAM, plik stronicowania oparty na pamięci RAM jest znacznie lepszy niż plik oparty na dysku twardym.

Scratchfiles - jeszcze jeden powód (dotyczy również 64-bitów)


Kolejnym powodem, dla którego można używać pamięci RAM, jest edycja zdjęć / filmów (np. W pakiecie Adobe Creative Suite). Większość programów Adobe może używać „scratchfile” do tymczasowego przechowywania (podobnie jak plik stronicowania).

Umieszczenie pliku scratch na dysku RAM naprawdę pomogłoby zwiększyć szybkość edycji wideo / zdjęć, szczególnie gdy zbliżasz się do limitów pamięci RAM systemu operacyjnego (lub maksimów zdefiniowanych przez program).

Styczeń 2010 wrzesień 2012 Edytuj:


Niedawno natknąłem się na tę stronę internetową (łatka została usunięta, ale dublowałem ją tutaj na mojej stronie ), która pozwala na załatanie jądra systemu Windows 7, aby umożliwić PAE twojego systemu operacyjnego rozszerzenie bariery 4 GB (zobacz ten artykuł wspomniany w poprzedni link, aby uzyskać więcej informacji na temat faktycznej mechaniki łatki). Pozwala to na pełne wykorzystanie ponad 4 GB (do 8 GB) pamięci RAM w systemie Windows 7 w wersji 32-bitowej.

Przełom
źródło
8

Jeden naprawdę dobry fundamentalny powód, dla którego dyski mem nie są bardzo częste: lepiej wykorzystać pamięć jako pamięć podręczną dysku.

Już większość / całość korzyści płynących z wydajności ramdysku podczas normalnej pracy będzie możliwe po prostu poprzez użycie pamięci jako pamięci podręcznej. Zapisywanie na dysku może się zdarzyć w tle, gdzie opóźnienie nie jest takie duże, przy założeniu, że masz wystarczającą pamięć podręczną.

Nadal możesz używać ramdysku W szczególnych okolicznościach (brak dysku z możliwością zapisu).

Kapitanie Segfault
źródło
1
Innym „wyspecjalizowanym” przypadkiem jest czas, w którym opóźnienie ma znaczenie. Innymi słowy, gdy chcesz nie tylko szybkich średnich czasów odczytu, ale wszystkich szybkich czasów, może nawet szczególnie za pierwszym razem. Mam na myśli serwer sieciowy, ponieważ często między nimi a użytkownikiem końcowym jest buforowanie sieci dostarczania treści. Innym sposobem patrzenia na RAMdisk jest pamięć podręczna, która jest fabrycznie załadowana pewnymi rzeczami (w przeciwieństwie do rozpoczynania pustej pamięci i uczenia się, jak to się dzieje, jak większość pamięci podręcznej).
MarkHu
Inną jest sytuacja, gdy masz dużą liczbę I / O, ale możesz pozwolić, aby była niestabilna. Normalne działanie pamięci podręcznej ma okresowe opróżnianie danych (w przeciwnym razie nigdy nie można byłoby zapisać na dysk, więc zapisany plik nie zostałby zapisany), więc może nasycić się w tle ciężkimi operacjami we / wy plikami tymczasowymi.
Maciej Piechotka,
5
  1. Systemy operacyjne lepiej wykorzystują pamięć RAM - aplikacje są ładowane do pamięci RAM i zamieniane w bardziej inteligentny sposób.
  2. Dyski RAM są niestabilne - dane w pamięci RAM znikają bez zasilania, więc nie możemy na nich polegać.
  3. Architektura 32-bitowa może zająć tylko nieco mniej niż 4 GB pamięci RAM - nie chcesz marnować tej cennej pamięci RAM jako dysku RAM.
  4. Pamięć RAM jest wciąż dość droga
Rich Bradshaw
źródło
2
Nie jest tak, że architektury 32-bitowe mogą adresować tylko nieco poniżej 4 GB pamięci RAM. Zobacz en.wikipedia.org/wiki/Physical_Address_Extension
ChrisInEdmonton
1
Chociaż ta technologia nie jest dostępna dla większości użytkowników domowych.
Rich Bradshaw,
1
Często aplikacje zapisują wiele małych plików, nie trzeba przechodzić od ponownego uruchomienia. Dla tych RAMDISKI są mile widziane !!
Ian Ringrose
1
@Rich Bradshaw - Punkt 3. nie jest prawdą (jak zauważył ChrisInEdmonton). Sugerowałbym zmianę „architektury 32-bitowej” na „niektóre 32-bitowe systemy operacyjne”. Uważam za denerwujące, że ten mit trwa nadal tylko z powodu jednego okaleczonego systemu operacyjnego.
Przywróć Monikę
3

W systemie Linux istnieje system plików o nazwie tmpfs , który jest w zasadzie dyskiem RAM.

Jak sama nazwa wskazuje, jest często używany /tmp, ponieważ ten folder zawiera tylko pliki, które nie muszą się utrzymywać przy ponownym uruchomieniu.

Live CD używają dysku RAM dla całego dysku twardego.

Przywróć Monikę
źródło
2

W rzeczywistości są. Obecnie istnieją nawet dyski SSD oparte na pamięci DRAM .

Tak, to prawda, że ​​nowoczesne dyski twarde są szybsze. Jednak w porównaniu z postępem innych komponentów systemu są one znacznie wolniejsze. Nie możesz wyeliminować czasów wyszukiwania, ponieważ twoja prędkość obrotowa jest ograniczona.

Dlatego do wielu celów napęd oparty na pamięci RAM może znacznie zwiększyć wydajność. Czy próbowałeś kiedyś zbudować duży projekt oprogramowania na normalnym dysku twardym zamiast na dysku RAM?

Zauważ też, że nowoczesne jądra systemu, takie jak Linux, już wykorzystują całą dostępną (nieużywaną) pamięć RAM do buforowania pamięci blokowej.

EFraim
źródło
Ummm ... Nie sądzę, żeby o tym myślał OP. OP odnosi się do dysków RAM z epoki 8086-80486, w których pamięć RAM była bardzo droga, a niewolne urządzenie pamięci, takie jak dyskietka, służyło do powiększenia pamięci systemowej. Nie sądzę, żeby miał na myśli użycie nośnika DRAM zamiast typowego nieulotnego urządzenia pamięci.
J. Polfer,
1
Poczekaj ... nieważne ... źle odczytałem post.
J. Polfer,
Dużym problemem związanym z dyskami SSD jest to, że wciąż są powiązane z powolnymi interfejsami I / O (którym nie są dyski RAM z oprogramowaniem).
Brian Knoblauch,
2

Były to w dużej mierze kule, aby zrekompensować braki okaleczonych systemów operacyjnych, a system operacyjny z pełną obsługą ich nie potrzebuje.

To znaczy: dla większości celów mechanizm buforowania systemu operacyjnego zapewni lepszą wydajność.

Robi to samo (wrzuca dane rezydentne z „dysku” do pamięci RAM w celu szybkiego dostępu), ale ma stos heurystyk i optymalizacje dokładnie na czas, aby wybrać dokładnie to , co należy przyspieszyć. Będą wyjątkowe przypadki, w których będziesz wiedział lepiej niż system operacyjny, ale przez większość czasu powinieneś zostawić sobie dość dobrze.

dmckee
źródło
2

Bardzo stary post, ale nadal aktualny (około 2019 r.

OP zapytał o porównania DOS. Dam większości z was wyszukiwanie archiwalne.

W tamtych czasach byliśmy w świecie wypełnionym 640 KB pamięci RAM, ale mogliśmy aktywować dodatkowe 384 KB pamięci rozszerzonej. Za pomocą oprogramowania mogliśmy zamienić 384k w rozszerzoną pamięć (która była formatem stworzonym przez Lotus-Intel-Microsoft), co pozwoliłoby kompatybilnym aplikacjom na wykorzystanie tego cennego 384k dla aplikacji. Te aplikacje były ogólnie aplikacjami do arkuszy kalkulacyjnych (Lotus 1-2-3 oraz nowa aplikacja do arkuszy kalkulacyjnych Excel firmy Microsoft). Mieliśmy płyty RAM, które mogły pozwolić 16-bitowemu procesorowi na uruchomienie płyty głównej (RAM BOARD utknął z DRAM CHIPS) z pamięcią adresowalną do 2-4 MB, jeśli był to sprzęt kompatybilny z LIM.

W dzisiejszym świecie 32 GB może być nadmierną wydajnością dla większości użytkowników, ale niektórzy producenci OEM (producenci oryginalnego sprzętu) oferują standardowe modele 32 GB. Co możesz z tym zrobić? Możesz zrobić coś, co smaruje twój system operacyjny, robiąc RAMDrive z części tej pamięci (4 gb-8 gb), aby tworzyć pliki aplikacji tymczasowych i system operacyjny - pójdą tam i zostaną automatycznie opróżnione po ponownym uruchomieniu. Możesz to zrobić nawet w przeglądarkach internetowych (Chrome można skonfigurować do korzystania z tegoX:\Ramdrive\Cache ścieżki również z niewielkimi poprawkami, tworząc skrót z nowymi parametrami i pojedynczą edycją rejestru).

Czy warto?

Wiele RAMDrives jest obecnie darmowych i automatycznie konfiguruje zmienne środowiskowe SET TEMP, SET TMP. Wystarczy podłączyć nową literę dysku RAMDrive, a niektóre niespójne błędy systemowe, małe awarie, spowolnienia po prostu znikają.

Pamiętaj, że wiele aplikacji i aktualizacji nie usuwa się dokładnie tak, jak byśmy tego chcieli.

A dla graczy możesz utworzyć .BATplik, który skopiuje całą zawartość gry i zapisz pliki (zachowaj format folderów i podfolderów z /Sparametrem za pomocą XCOPY. Pamiętaj, aby utworzyć dodatkowy, SAVE.BATktóry przechowuje wszystkie dane z powrotem na dysk twardy, gdy w przeciwnym razie ryzykujesz, że nic nie zostanie zapisane.

Mark Peterson
źródło
2

Użyłem dysku RAM o pojemności 2 GB do przechowywania wirtualnego systemu operacyjnego VMware (całość, XP), zapisanego i ponownie załadowanego automatycznie przy syartup / shutdown. Następnie uruchomiłem go z ramdysku za pomocą VMware Play. To spowodowało, że cały dysk RAM wirtualnego systemu operacyjnego, w tym wszystkie operacje we / wy z plikami systemowymi (wszystkie, nie tylko niektóre) i jak można sobie wyobrazić, wydajność była zdumiewająca!

Poza tym ekstrakcja plików Zip / RAR przebiega znacznie szybciej, podobnie jak kodowanie DVD.

Mamba
źródło
0

Dlatego :

  1. Podczas gdy specyfikacje komputerów uległy ogromnej poprawie, oprogramowanie stało się znacznie zawyżone i wymaga znacznie więcej pamięci. Mały dysk z pamięcią już nie pomaga.
  2. Dysk pamięci nadaje się tylko do jednego: przechowywania plików tymczasowych. Niewiele programów spędza czas na żonglowaniu plikami tymczasowymi, a kiedy to robią, są one zwykle dość duże.
harrymc
źródło
0

Dlaczego dziś miałby być używany RAMdisk?

ponieważ pamięć RAM jest brudna, a dysk RAM jest szybszy niż konwencjonalny dysk twardy z talerzem, przez kraj (lub ponad 300 razy).

Uwaga: dysk RAM może nie być odpowiednim rozwiązaniem dla każdego scenariusza, ale tam, gdzie ma to zastosowanie, pokonuje każdy dysk znany człowiekowi.


źródło
0

Muszę powiedzieć, że nie są już używane, ponieważ oprogramowanie powodowało wzdęcia i wzrost pamięci masowej znacznie przewyższył pamięć RAM. Kiedyś maszyny miały więcej dostępnej pamięci RAM niż pamięci (na przykład mój stary XT z pamięcią RAM 640K i dyskiem 360K). To sprawiło, że zrobienie ramdysku 384K, skopiowanie na niego aplikacji i ucieczka z niego nie było niczym trudnym (wciąż pozostawiając wystarczającą, dla większości aplikacji dnia, 256 KB pamięci RAM). Porównaj się z systemami, które są obecnie wyposażone w napęd 1 TB, ale mają tylko 1 GB pamięci RAM ...

Brian Knoblauch
źródło