Wiem, jak utworzyć plik wymiany i używać go jako wymiany. Ale muszę wcześniej skonfigurować rozmiar pliku, a miejsce na dysku jest używane, jeśli zamiana jest używana, czy nie.
Jak utworzyć swap, który ma początkowy rozmiar 0 i rośnie na żądanie?
Wiem, jak utworzyć plik wymiany i używać go jako wymiany. Ale muszę wcześniej skonfigurować rozmiar pliku, a miejsce na dysku jest używane, jeśli zamiana jest używana, czy nie.
Jak utworzyć swap, który ma początkowy rozmiar 0 i rośnie na żądanie?
Odpowiedzi:
Swapspace jest stary i nieobsługiwany i może kiedyś doprowadzić do problemów we współczesnych systemach. Myślę, że najlepszym rozwiązaniem dla dynamicznej wymiany jest:
sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable
następnie ustawienie CONF_SWAPFACTOR=2
się /etc/dphys-swapfile
wreszcie
sudo service dphys-swapfile start
SwapSpace to narzędzie, które tworzy „dynamiczny plik wymiany”, który zgodnie z wymaganiami systemu operacyjnego zmienia swój rozmiar.
Możesz więc nawet zapomnieć o utworzeniu wirtualnego pliku wymiany i po prostu zainstalować „SwapSpace”, a on automatycznie utworzy plik dla Ciebie, a nawet zmieni jego rozmiar, jeśli to konieczne.
Możesz także użyć opcji „Swapspace” obok ręcznie utworzonego pliku wymiany, a gdy ręcznie zostanie wypełniony, „Swapspace” automatycznie utworzy inny dla systemu operacyjnego, więc system operacyjny zawsze będzie miał przestrzeń wymiany i zwiększy stabilność.
Kolejną przydatną rzeczą w „SwapSpace” jest to, że w miarę możliwości zmniejsza rozmiar SwapSpace i „uwalnia” te bajty do systemu plików użytkownika, a według twórców redukcja ta pomaga również zwiększyć wydajność pliku wymiany ( plus nie marnuje się także „cenna” przestrzeń dysku twardego).
Zainstaluj za pomocą
sudo apt-get install swapspace
I dostosuj plik konfiguracyjny do swoich potrzeb. Ustawiłem minimum 0
na moim maszynie debian VM z zaledwie 8 GB HDD
Dodatkowo ustawiłem zamianę, aby 0
zminimalizować wykorzystanie cennego miejsca na dysku twardym na mojej maszynie wirtualnej:
Aby zmienić wartość swapiness systemu, otwórz /etc/sysctl.conf
jako root. Następnie zmień lub dodaj ten wiersz do pliku:
vm.swappiness = 0
(Uruchom ponownie, aby zmiana zaczęła obowiązywać)
Afaik, każda partycja wymiany, którą utworzyłbyś na przykład za pomocą fdisk, potrzebowałaby więcej miejsca niż 0, ponieważ modyfikujesz przestrzeń z istniejącego dysku i przenosisz go w inne miejsce.
W każdym razie, odpowiadając na twoje pytanie, możesz łatwo zrobić małą partycję, przypisać ją jako swap pod fdisk, a następnie:
1) wyłącz zamianę za pomocą swapoff -v
2) zmień rozmiar partycji za pomocą lvresize
3) sformatuj partycję za pomocą mkswap
4) ponownie włącz przestrzeń wymiany za pomocąswapon -v
Następnie możesz użyć, cat /proc/swaps
aby sprawdzić, czy został zaktualizowany, czy nie. Możesz łatwo użyć tego w skrypcie, w zależności od specyfikacji systemu, i uruchamiać go na żądanie, ilekroć zajdzie potrzeba zwiększenia przestrzeni wymiany. Coś jak:
$ swapoff -v /dev/swapvol1
$ lvresize /dev/swapvol1 -L +1G
$ mkswap /dev/swapvol1
$ swapon -v /dev/swapvol1