Naciśnij ESC, aby zamknąć

Raspberry Pi: Jak zwiększyć partycję SWAP

Cześć!

Raspberry Pi to popularna platforma do projektów związanych z IoT, edukacją informatyczną i wiele innych zastosowań. Pomimo swojej wszechstronności, urządzenia te często dysponują ograniczoną ilością pamięci RAM. Może to prowadzić do problemów z wydajnością, zwłaszcza gdy uruchamiasz aplikacje wymagające dużej ilości pamięci.

Systemy operacyjne na Raspberry Pi wykorzystują partycję SWAP, rozszerzając pamięć RAM za pomocą dysku twardego. Jednak domyślne ustawienia SWAP mogą być niewystarczające, szczególnie podczas pracy z wymagającymi dużych zasobów aplikacjami.

W tym artykule omówię, jak zwiększyć partycję SWAP, aby poprawić wydajność systemu i zapewnić płynne działanie aplikacji nawet w sytuacjach, gdy ilość dostępnej pamięci RAM jest ograniczona. Przeanalizujemy kroki potrzebne do zmiany rozmiaru partycji SWAP oraz najlepsze praktyki związane z jej konfiguracją.

Wstęp

Co to jest Raspberry Pi?

Raspberry Pi, Logo

Raspberry Pi to rodzina jednopłytkowych komputerów (ang. single-board computers – SBC) stworzona przez Raspberry Pi Foundation, organizację non-profit z siedzibą w Wielkiej Brytanii. Pierwszy model Raspberry Pi pojawił się na rynku w 2012 roku. Od tego czasu seria stale się rozwija, dostarczając coraz to nowsze i bardziej zaawansowane możliwości w przystępnej cenie.

Raspberry Pi ma zastosowanie w różnorodnych celach, od edukacyjnych przez hobbistyczne aż do profesjonalnych, jako niedrogi i kompaktowy komputer. Ma formę niewielkiej płytki z wbudowanym procesorem, pamięcią RAM, portami wejścia/wyjścia (GPIO), portami USB, portem Ethernet, oraz często z wbudowanymi modułami Wi-Fi i Bluetooth.

Chociaż Raspberry Pi nie jest równoważne z tradycyjnymi komputerami stacjonarnymi pod względem wydajności, to oferuje wystarczającą moc obliczeniową do wielu zastosowań, takich jak nauka programowania, tworzenie projektów IoT (Internet of Things), serwery domowe, systemy monitoringu i wiele innych.

Wszystkie modele Raspberry Pi działają na oprogramowaniu typu open-source, zwykle na bazie systemu operacyjnego Linux, takiego jak Raspberry Pi OS (wcześniej znany jako Raspbian), choć można na nich uruchomić również inne systemy operacyjne, takie jak Windows 10 IoT Core. Dzięki swojej popularności, Raspberry Pi stał się istotnym narzędziem dla hobbystów, studentów, twórców, a nawet dla niektórych profesjonalistów w różnych dziedzinach informatyki i elektroniki.

Czym jest partycja SWAP?

SRaspberry Pi SWAP, DiskWAP, znany także jako partycja wymiany, to obszar na dysku twardym, który system operacyjny używa jako dodatkową pamięć w przypadku, gdy pamięć RAM jest niewystarczająca do obsługi aktualnie działających procesów. Głównym celem SWAP-u jest zapewnienie kontynuacji działania systemu, gdy pamięć RAM jest wyczerpana lub gdy zajmuje się dużą ilością danych.

Kiedy system operacyjny stwierdza, że pamięć RAM jest wyczerpana, a nowe procesy wymagają więcej pamięci, używa SWAP-u jako miejsca do przechowywania danych tymczasowych. Oznacza to, że niektóre dane z pamięci RAM, które nie są aktualnie wykorzystywane, są przenoszone na dysk twardy, aby zrobić miejsce dla nowych danych. Kiedy te dane są potrzebne ponownie, system operacyjny przenosi je z powrotem do pamięci RAM.

SWAP jest szczególnie przydatny w sytuacjach, gdy uruchamiasz wiele aplikacji jednocześnie lub pracujesz z dużymi plikami, które wymagają dużej ilości pamięci. Jednak korzystanie z SWAP-u może spowodować spowolnienie systemu, ponieważ dostęp do danych na dysku twardym jest znacznie wolniejszy niż do danych przechowywanych w pamięci RAM. Dlatego zaleca się, aby SWAP był używany jako ostatnie rozwiązanie, gdy pamięć RAM jest prawie całkowicie wykorzystana.

W przypadku systemów opartych na Linuksie, w tym także na Raspberry Pi, partycja SWAP jest zazwyczaj tworzona podczas instalacji systemu operacyjnego, ale można ją także dostosować, zmieniając jej rozmiar w zależności od potrzeb użytkownika.

Przygotowanie

Zanim przystąpimy do konfiguracji, warto odpowiednio przygotować nasze urządzenie – do stworzenia poradnika użyję Raspberry Pi w wersji 5. Polecenia będziemy wydawać naszemu urządzeniu za pomocą SSH.

  • Polecam skorzystać z rpilocator.com, aby zobaczyć gdzie możesz obecnie dostać w rozsądnej cenie urządzenie;
  • Na systemy operacyjne Microsoft Windows polecam PuTTY, z kolei na systemy operacyjne Apple MacOS polecam Termius.

Krok 1 –Konfiguracja na Raspberry Pi

Zaktualizuj listę pakietów oraz wgraj aktualizacje

  • Uruchom Putty (Windows OS) lub Termius (MacOS), a następnie połącz się ze swoim urządzeniem,
  • Wprowadź poniższą komendę, aby zaktualizować listę pakietów oraz zainstalować dostępne aktualizacje:
sudo apt-get update && sudo apt-get upgrade -y

Sprawdź aktualny rozmiar SWAP

Uruchom polecenie free -h w terminalu, aby sprawdzić aktualny rozmiar SWAP na Twoim Raspberry Pi. Wyświetli to ilość pamięci SWAP używaną i dostępną.

free -h
               total        used        free      shared  buff/cache   available
Mem:           7.9Gi       1.6Gi       3.6Gi        86Mi       2.8Gi       6.3Gi
Swap:           99Mi          0B        99Mi

Wyłącz SWAP

Zanim rozpoczniesz zmianę partycji SWAP na swoim Raspberry Pi, upewnij się, że nie używasz żadnych aplikacji, które intensywnie zużywają pamięć RAM.

  • Najpierw wyłącz SWAP, aby móc zmienić jego rozmiar. W terminalu wprowadź polecenie.
sudo dphys-swapfile swapoff

Zmień rozmiar partycji SWAP

  • Aby zmienić rozmiar partycji SWAP, musisz edytować plik konfiguracyjny dphys-swapfile. Uruchom edytor tekstowy, na przykład nano:
sudo nano /etc/dphys-swapfile

Zmodyfikuj ustawienia partycji SWAP

  • Znajdź linię z CONF_SWAPSIZE= .
  • Domyślnie jest to ustawione na 100.
  • Zmodyfikuj tę wartość na żądaną wielkość partycji SWAP, na przykład 1024 dla 1GB SWAP:
# /etc/dphys-swapfile - user settings for dphys-swapfile package
# author Neil Franklin, last modification 2010.05.05
# copyright ETH Zuerich Physics Departement
#   use under either modified/non-advertising BSD or GPL license

# this file is sourced with . so full normal sh syntax applies

# the default settings are added as commented out CONF_*=* lines


# where we want the swapfile to be, this is the default
#CONF_SWAPFILE=/var/swap

# set size to absolute value, leaving empty (default) then uses computed value
#   you most likely don't want this, unless you have an special disk situation
CONF_SWAPSIZE=1024

# set size to computed value, this times RAM size, dynamically adapts,
#   guarantees that there is enough swap without wasting disk space on excess
#CONF_SWAPFACTOR=2

# restrict size (computed and absolute!) to maximally this limit
#   can be set to empty for no limit, but beware of filled partitions!
#   this is/was a (outdated?) 32bit kernel limit (in MBytes), do not overrun it
#   but is also sensible on 64bit to prevent filling /var or even / partition
#CONF_MAXSWAP=2048
  • Zapisz zmiany i zamknij edytor: W nano, naciśnij Ctrl + X, a następnie zatwierdź wprowadzone zmiany wciskając Y, a następnie Enter.

Ponowna inicjalizacja

  • Możemy teraz zainicjować ponownie plik wymiany na Raspberry Pi, wykonując poniższe polecenie.
  • Wykonanie tej operacji spowoduje usunięcie oryginalnego pliku wymiany, po czym zostanie on ponownie utworzony, aby dopasować się do nowo zdefiniowanego rozmiaru.
sudo dphys-swapfile setup

Uruchomienie SWAP

  • Uruchom ponownie serwis SWAP, aby zastosować nową konfigurację:
sudo dphys-swapfile swapon
  • Sprawdź nowy rozmiar SWAP: Ponownie użyj polecenia free -h, aby upewnić się, że SWAP został zwiększony zgodnie z Twoimi oczekiwaniami.
  • Jeżeli potrzebujesz – Najprostszym sposobem na ponowne załadowanie wszystkich programów z dostępem do nowej puli pamięci jest ponowne uruchomienie urządzenia.
  • Gotowe! Miłego użytkowania! 🚀

Jeśli masz dodatkowe pytania dotyczące konfiguracji, śmiało zostaw komentarz pod tym artykułem lub skontaktuj się ze mną bezpośrednio. Chętnie odpowiem na wszelkie wątpliwości i pomogę rozwiązać ewentualne problemy. Twoje pytania mogą pomóc w ulepszeniu tego poradnika dla innych użytkowników.

Dodatkowe materiały i informacje

W celu dalszego zgłębienia tematu i uzyskania szczegółowych informacji, polecam sprawdzenie poniższych linków. Są one wartościowymi źródłami, które zostały wykorzystane podczas opracowywania tego poradnika.

Filip Chochół

Filip Chochol runs two blogs: personal “chochol.io” and together with his girlfriend “Warsaw Travelers” about travel. He specializes in IT resource management and technical support, and has been active in the field of cyber security awareness for almost two years. A proponent of open-source technologies, he previously worked in the film and television industry in the camera division (2013-2021). After hours, he develops interests in smart homes and networking.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *


This site uses Akismet to reduce spam. Learn how your comment data is processed.