Raspberry Pi ma tylko 256 MB pamięci RAM, więc chciałbym użyć przestrzeni wymiany (na karcie SD lub podłączonej pamięci USB). Jak to skonfigurować?
Raspberry Pi ma tylko 256 MB pamięci RAM, więc chciałbym użyć przestrzeni wymiany (na karcie SD lub podłączonej pamięci USB). Jak to skonfigurować?
Odpowiedzi:
Raspbian używa dphys-swapfile , który jest rozwiązaniem opartym na plikach wymiany zamiast „standardowego” rozwiązania opartego na partycji wymiany. Znacznie łatwiej jest zmienić rozmiar zamiany.
Plik konfiguracyjny to:
/etc/dphys-swapfile
Treść jest bardzo prosta. Domyślnie mój Raspbian ma 100 MB wymiany:
CONF_SWAPSIZE=100
Jeśli chcesz zmienić rozmiar, musisz zmodyfikować numer i zrestartować plik dphys-swap:
/etc/init.d/dphys-swapfile restart
Edycja: W Raspbian domyślną lokalizacją jest / var / swap, która (oczywiście) znajduje się na karcie SD. Myślę, że to zły pomysł, dlatego chciałbym zauważyć, że plik / etc / dphys-swap może mieć również następującą opcję: CONF_SWAPFILE = / media / btsync / swapfile
Mam tylko z tym problem, pamięć USB jest automatycznie montowana, więc potencjalny wyścig tutaj (automount vs. swapon)
/var/swap
jest złym pomysłem?
Możesz ustawić przestrzeń wymiany po prostu. Na przykład, jeśli masz napęd USB /dev/sdx
, możesz użyć (musisz mieć uprawnienia roota):
$ mkswap /dev/sdx
$ swapon /dev/sdx
Pamiętaj, że użyje to całego urządzenia i prawdopodobnie stracisz wszystkie istniejące na nim dane.
Możesz również utworzyć plik wymiany (przy użyciu loop
urządzenia) w następujący sposób:
$ dd if=/dev/zero of=/path/to/swapfile bs=1M count=1024 # For 1GB swap file
$ mkswap /path/to/swapfile
$ swapon /path/to/swapfile
Jeśli nie potrzebujesz już pliku wymiany (jeśli chcesz na przykład wysunąć dysk USB), musisz go użyć swapoff <device>
. W przeciwnym razie prawdopodobnie nastąpi awaria systemu.
Powinieneś jednak uważać . Karty SD mają ograniczone limity odczytu / zapisu i skróci ich żywotność. Jeśli używasz zewnętrznego dysku twardego, wszystko powinno być w porządku, ale będzie bardzo wolne.
mkswap
ich na partycji głównej. Myślę, że sdx
to dobra konwencja.
W ogóle tego nie rób.
Należy nie umożliwiają zamianę na Raspberry Pi.
Chociaż jest to możliwe, nie jest przydatne. Nawet na karcie SDHC klasy 10 jest po prostu zbyt wolny. Zmniejszysz także żywotność karty SD.
Na dowolnym urządzeniu pamięci flash (karta SD, SDD, pamięć USB) możesz również zobaczyć przerwy systemowe, gdy duża grupa bloków pamięci flash zostanie skasowana.
Możliwe wyjątki:
Raspbmc używa /etc/init/swap.conf
do konfiguracji wymiany poprzez plik / swap. Najpierw sprawdza obecność /home/pi/.enable_swap
.
Jeśli usuniesz /home/pi/.enable_swap
plik wymiany, plik wymiany nie zostanie utworzony, a następnie po prostu utwórz go ponownie, touch /home/pi/.enable_swap
jeśli potrzebujesz zamiany włączonej i uruchom ponownie.
Szkoda, że Raspberry Pis nie ma GigaBit Ethernet, ale teoretycznie możliwe jest posiadanie przestrzeni wymiany na urządzeniu sieciowym - Linux Terminal Server Project może zaoferować ją od serwera klientom zgodnie z tym elementem na swojej wiki .
Znalazłem temat na forum Foundation „Wskazówka: Zamień na nfs”, który pokazuje, w jaki sposób ktoś, kto miał już niektóre podłączenia NFS, zastosował plik wymiany na jednym z nich i zamontował go za pomocą podłączenia pętli (prawdopodobnie potrzebne, ponieważ Linux nie pozwala na Montaż NFS do bezpośredniego użycia). Biorąc pod uwagę, że zdalny plik wymiany będzie przechowywał dane, których system operacyjny nie może utracić , rozważę to tylko w przypadku przewodowej sieci Ethernet - połączenie bezprzewodowe byłoby zbyt delikatne IMHO. Oczywiście nie wolno także zezwalać na zamykanie zdalnego serwera bez wyłączania wymiany i uprzedniego całkowitego opróżnienia!