Ramdisk to niestabilna przestrzeń, wszystkie przechowywane w niej informacje zostaną utracone, jeśli urządzenie zostanie wyłączone lub uruchom ponownie.
W systemie Linux można tworzyć Ramdisks za pomocą montażu poleceń i systemów plików TMPFS i RAMFS. Ten samouczek pokazuje, jak utworzyć Ramdisk w Linux za pomocą obu z nich.
TMPFS i RAMFS:
TMPFS: TMPFS to tymczasowy system plików przechowywany w pamięci RAM (i/lub pamięci wymiany). Określając ten system plików za pomocą argumentu -T polecenia uchwyt, Możesz przypisać ograniczone zasoby pamięci do tymczasowego systemu plików. W rezultacie aplikacje przechowywane w tym systemie plików będą działać kilka razy szybciej niż w konwencjonalnych urządzeniach pamięci, w tym urządzeniach CSSD.
Ramfs: RAMFS jest podobny do TMPFS, ale użytkownik nie może zapewnić limitu, a przydzielone zasoby rośnie dynamicznie. Jeśli użytkownik nie kontroluje zużycia RAMFS, RAMFS będzie używać całej pamięci, aż do zawieszenia lub awarii systemu.
TMPFS vs. Ramfs: Nie ma znaczącej różnicy między wydajnością TMPF i jego poprzednikiem Ramfs. Przyczyną zastąpienia Ramfs przez TMPFS jest nieograniczone ryzyko konsumpcji pamięci RAM przez RAMFS, co może prowadzić do wypadku systemowego.
Kolejną zaletą TMPFS przez RAMFS jest możliwość korzystania z przestrzeni swapowej, podczas gdy RAMF są ograniczone do pamięci sprzętowej.
Jak utworzyć Ramdisk w Linux za pomocą TMPFS:
Najpierw zobaczmy bezpłatną pamięć, której możemy użyć przed utworzeniem punktu montażu TMPFS. Aby sprawdzić dostępny pamięć RAM i swap, możesz użyć polecenia za darmo. Aby wydrukować wyniki w gigabajtach, możesz dodać argument -giga, jak pokazano w poniższym przykładzie:
darmowe -giga
Jak widać na powyższym wyjściu, mam dwa fizyczne GB i dwa na przestrzeni wymiany.
Teraz utwórz punkt mocowania pod katalogiem /MNT za pomocą polecenia Mkdir Jak pokazano w poniższym przykładzie. Wybór nazwy punktu Mount jest arbitralny. Jeśli zamierzasz użyć Ramdisk do określonej aplikacji, możesz wymienić punkt montażu po niej. W poniższym przykładzie nazywam to /mnt/tmp:
sudo mkdir /mnt /tmp
Teraz możesz utworzyć Ramdisk za pomocą polecenia Mount. Poniższy przykład pokazuje, jak utworzyć Ramdisk za pomocą TMPFS na 2 GB RAM/swap, na punkcie mocowania/MNT/TMP.
Argument -t (typ) pozwala określić system plików (w tym przypadku TMPFS). Argument -o (opcje) służy do zdefiniowania przestrzeni dla Ramdisk.
Mount -t TMPFS -O Rozmiar = 2G TMPFS /MNT /TMP
Ramdisk został utworzony pod /MNT /TMP.
SSD vs. TMPFS:
Skopiowałem obraz Ubuntu z katalogu domowego użytkownika do katalogu głównego na poniższym zrzucie ekranu.
Korzystając z czasu polecenia do wyświetlenia czasu, możesz zobaczyć proces kopiowania zajął 0:55.290
czas CP/Home/Linuxhint/Downloads/Ubuntu-20.04.1-Desktop-AMD64.ISO .
Na poniższym zrzucie ekranu możesz zobaczyć, jak skopiowanie tego samego obrazu ISO Ubuntu do Ramdisk wymaga 0: 9.424S:
czas cp Ubuntu-20.04.1-Desktop-AMD64.ISO/MNT/TMP/
Jak widać, różnica to Titanic, a Ramdisk jest bardzo korzystny w przypadku zadań z dużymi ilością pisania plików.
Aby usunąć Ramdisk, po prostu odrzuć go, uruchamiając następujące polecenie i zastępując TMP punktem mocowania:
Umount /mnt /tmp
Tworzenie Ramdisk w Linux za pomocą RAMFS:
Procedura tworzenia Ramdisk za pomocą RAMFS jest taka sama jak w przypadku TMPFS. Poniższe polecenie utworzy dynamiczny Ramdisk na punkcie mocowania /MNT /TMP.
Mount -t Ramfs -o Rozmiar = 4 RAMFS /MNT /TMP
TMPFS vs. Ramfs:
Teraz przetestujmy wydajność RAMFS na TMPFS i zobaczmy, co się stanie, gdy każdy typ Ramdisk osiągnie określony limit.
W pierwszym przykładzie utworzę 2 GB Ramdisk za pomocą TMPFS i spróbuję skopiować większe ISO w środku:
Mount -t TMPFS -O Rozmiar = 2G TMPFS /MNT /TMP
czas cp Ubuntu-20.04.1-Desktop-AMD64.ISO /MNT /TMP
Jak widać, CP zwrócił błąd, ponieważ przestrzeń Ramdisk nie wystarczy dla obrazu ISO. Przypisałem tylko 2 GB dla Ramdisk.
Teraz zobacz, co się stanie, kiedy wykonuję tę samą procedurę za pomocą Ramdisk:
Mount -t Ramfs -o Rozmiar = 2G RAMFS /MNT /TMP
czas cp Ubuntu-20.04.1-Desktop-AMD64.ISO /MNT /TMP
Jak widać, Ramfs pisał do /mnt /tmp, mimo że zdefiniowałem limit 2 GB. To jest wada Ramfs, ponieważ może zawiesić system, zużywając całą pamięć pamięci RAM. Przeciwnie, TMPFS jest ograniczony do określonej ilości pamięci.
Możesz także zobaczyć, że zadanie kopiowania zostało wykonane w ciągu 0: 9.624s, prawie ta sama wydajność pokazana przez TMPFS w teście przeciwko SSD.
Uwaga: Zastosowano ten sam obraz ISO.
Wniosek
Tworzenie Ramdisk to proces jednominutowy ze znaczącymi korzyściami dla każdego użytkownika, który musi przetwarzać duże pliki. Prędkość czytania i pisania wzrasta wykładniczo w stosunku do najlepszych dysków twardych na rynku. Przenośne oprogramowanie może być wykonywane z Ramdisk, chociaż zmiany nie będą trwałe. Ta implementacja jest bardzo doceniana przez redaktorów mediów, których zadania wymagają długich okresów konwersji mediów.
Korzystanie z RAMF może być ryzykowne, jeśli w systemie zabraknie zasobów. Właśnie dlatego TMPFS stał się pierwszą metodą.
Mam nadzieję, że ten samouczek, aby stworzyć Ramdisk w Linux, był przydatny. Kontynuuj podążaj za Linux, aby uzyskać więcej wskazówek i samouczków Linux.