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