Jak utworzyć Ramdisk w Linux

Jak utworzyć Ramdisk w Linux
Ramdisk to niestabilna przestrzeń do przechowywania zdefiniowana w pamięci RAM. Korzystanie z tej funkcji zwiększa wydajność przetwarzania plików dziesięć razy w stosunku do najlepszych dysków twardych SSD. Wdrożenie Ramdisk jest bardzo korzystne dla użytkowników, których zadania wymagają znacznych ilości zasobów sprzętowych. Ponadto redaktorzy mediów i gracze mogą cieszyć się tą implementacją.

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.