Jak korzystać z przestrzeni wymiany na dysku USB w systemie Rasbian Linux

Raspberry Pi dysponuje ograniczoną ilością pamięci SWAP, gdy fizyczna pamięć RAM w systemie Raspbian zostaje wyczerpana. Zwykle dostępna przestrzeń SWAP wynosi około 100 MB, co jest niewystarczające, a jej pełne wykorzystanie może prowadzić do znaczących opóźnień w działaniu systemu.

Jednym z efektywnych sposobów na poprawę wydajności Raspberry Pi jest zwiększenie rozmiaru pamięci SWAP. Należy jednak pamiętać, że samo zwiększenie rozmiaru nie wystarczy. Dlaczego? Ponieważ Raspberry Pi bootuje z karty SD, a poszerzając SWAP na karcie SD, przyspieszamy jej zużycie. Zamiast tego lepiej przenieść SWAP na zewnętrzny dysk USB. W tym poradniku przedstawimy, jak to zrobić!

Formatowanie dysku flash USB

Zanim usuniemy SWAP z karty SD i przeniesiemy go na dysk flash USB, trzeba najpierw sformatować ten dysk do właściwego formatu (EXT4). Aby rozpocząć, podłącz dysk flash USB do portu USB i otwórz terminal.

Uwaga: jeśli Raspberry Pi działa jako serwer, zaloguj się przez SSH zamiast korzystać z bezpośredniego dostępu do terminala.

W terminalu uruchom polecenie lsblk. To polecenie wyświetli listę wszystkich podłączonych urządzeń pamięci masowej. Zidentyfikuj etykietę swojego dysku USB, aby upewnić się, że Pi go rozpoznaje. Etykieta powinna mieć postać /dev/sda.

lsblk

Po zidentyfikowaniu etykiety urządzenia dysku flash, otwórz go w narzędziu do partycjonowania Cfdisk za pomocą poniższego polecenia.

Uwaga: napęd USB będzie miał etykietę /dev/sda tylko wtedy, gdy jest to jedyne podłączone urządzenie. Jeśli masz więcej urządzeń, może być oznaczony jako /dev/sdb, /dev/sdc lub /dev/sdd. Jeśli potrzebujesz pomocy w zlokalizowaniu etykiety dysku, skorzystaj z tego przewodnika.

sudo cfdisk /dev/sda

W edytorze partycji Cfdisk należy usunąć wszystkie partycje z dysku flash. Aby to zrobić, postępuj zgodnie z poniższymi krokami:

Krok 1: Użyj klawiszy strzałek, aby podświetlić partycję na urządzeniu USB. Następnie wybierz opcję „Usuń” i potwierdź usunięcie partycji.

Krok 2: Wybierz „Wolne miejsce” w Cfdisk, a następnie wybierz „Nowy” i naciśnij Enter, aby utworzyć nową partycję.

Krok 3: Po wybraniu „Nowy” Cfdisk poprosi o określenie rozmiaru partycji. Domyślnie Cfdisk zasugeruje maksymalny rozmiar dysku. Jeśli twój dysk flash USB ma 14,6 GB, zaproponuje utworzenie partycji o wielkości 14,6 GB.

Naciśnij Enter, aby zaakceptować sugerowany rozmiar lub wprowadź własny rozmiar w oknie dialogowym i naciśnij Enter.

Krok 4: Po naciśnięciu Enter, aby utworzyć nową partycję, będziesz musiał określić typ partycji. Wybierz „podstawowa” i naciśnij Enter.

Krok 5: Użyj strzałek w lewo/prawo, aby wybrać „Typ” i naciśnij Enter. Następnie wybierz „83 Linux”, aby ustawić nowy typ partycji jako system plików Linux.

Krok 6: Wybierz „Zapisz” i naciśnij Enter, aby zapisać zmiany w Cfdisk dla dysku flash USB.

Krok 7: Wybierz „Zakończ”, aby zamknąć Cfdisk.

Krok 8: Po zamknięciu Cfdisk uruchom poniższe polecenie mkfs.ext4, aby utworzyć system plików Ext4 na urządzeniu USB.

sudo mkfs.ext4 -F /dev/sda1

Montowanie dysku USB

Aby móc używać dysku USB jako przestrzeni SWAP, trzeba go zamontować. Postępuj zgodnie z poniższymi krokami, aby to zrobić w systemie Raspbian.

Krok 1: W terminalu utwórz nowy folder w katalogu /mnt o nazwie „usb-flash”.

sudo mkdir -p /mnt/usb-flash/

Krok 2: Dodaj urządzenie USB do pliku /etc/fstab, aby mogło być automatycznie załadowane podczas rozruchu. Wykonaj poniższe polecenia, aby dodać odpowiednie linie do pliku /etc/fstab.

sudo -s

echo ' ' >> /etc/fstab

echo '# USB Flash for SWAP space' >> /etc/fstab

echo '/dev/sda1 /mnt/usb-flash/ ext4 noatime,defaults 0 2' >> /etc/fstab

Krok 3: Uruchom polecenie mount, aby zamontować dysk flash USB do katalogu /mnt/usb-flash/.

sudo mount /mnt/usb-flash/

Używanie przestrzeni SWAP na dysku USB

Konfiguracja przestrzeni SWAP na Raspberry Pi jest prosta dzięki intuicyjnym instrukcjom od programistów. Wykonaj poniższe kroki, aby skonfigurować SWAP na swoim urządzeniu.

Krok 1: Wyłącz SWAP na karcie SD Raspbian używając polecenia stop w terminalu.

sudo /etc/init.d/dphys-swapfile stop

Krok 2: Otwórz plik konfiguracyjny SWAP Raspbian w edytorze tekstu Nano.

sudo nano -w /etc/dphys-swapfile

Krok 3: Zlokalizuj linię CONF_SWAPSIZE = 100 i zmień 100 na 1024.

Krok 4: Znajdź # CONF_SWAPFILE = i usuń znak #, tak aby wyglądało to w następujący sposób:

CONF_SWAPFILE=

Krok 5: Zlokalizuj CONF_SWAPFILE = i usuń zawartość po znaku =. Następnie dodaj /mnt/usb-flash/swap.file. Powinno to wyglądać tak:

CONF_SWAPFILE=/mnt/usb-flash/swap.file

Krok 6: Uruchom ponownie SWAP Raspbian z użyciem poniższego polecenia. Jeśli operacja zakończy się powodzeniem, SWAP będzie działał z dysku flash USB!

sudo /etc/init.d/dphys-swapfile start