Funkcje tworzenia i podłączania pliku zamiany z Linux
- 2377
- 385
- Janusz Baranowski
Ilość pamięci RAM na komputerze jest ograniczona. Najczęściej w kwestiach finansowych, choć wyłącznie technicznie, nie można ustawić OP więcej na konkretnej płycie głównej, niż jest to dostarczone przez jej specyfikacje. A jeśli tak, sytuacje, w których brakuje pamięci, nie są rzadkie, szczególnie w przypadku wieloosobowych systemów operacyjnych. Należą do nich Linux i chociaż jest uważane za mniej wymagające zasobów komputerowych, nie można go nazwać idealnym. Niedobór pamięci RAM jest rozwiązywany na różne sposoby. Jednym z najbardziej optymalnych z nich jest użycie pliku lub sekcji na dysku, w którym dane są tymczasowo przechowywane, które są wyodrębnione w pamięci fizycznej w razie potrzeby.
Co to jest zamiana
OS Linux pod względem zamiany rozumie mechanizm organizacji pamięci wirtualnej, w której część danych przechowywanych w pamięci RAM (zwykle rzadko używanej) jest przenoszona do tymczasowego przechowywania w specjalnej sekcji lub pliku na twardym lub solidnym state dysk.
Cała objętość pamięci fizycznej w Linuksie jest podzielona na strony. W razie potrzeby zawartość poszczególnych stron jest przenoszona na dedykowany dysk zwany przestrzenią wymiany lub do osobnego pliku (analog plik pompowania w systemie Windows). Proces wyzwolenia samego OP nazywa się zamiana, a całkowity rozmiar pamięci fizycznej i zamiany nazywana jest - objętość dostępnej pamięci wirtualnej.
Co jest zamiana
Wielozadaniowość nie oznacza jednoczesnego otwarcia wielu programów. Nawet jeśli uruchomimy przeglądarkę, sama wykorzystuje wiele bibliotek, z których każda wykorzystuje swój własny obszar pamięci. Każda nowa karta, każdy otwarty dokument jest coraz więcej stron pamięci, co może nie wystarczyć w pewnym momencie.
A jeśli nie ma bezpłatnych stron nowej karty, system operacyjny jest zmuszony zaangażować się w wydanie pamięci. I co za darmo, jeśli wszystkie strony są zajęte niezbędnymi danymi lub pamięcią podręczną? Który jest stosowany rzadziej. Ale prędzej czy później potrzebny będzie rozładowany kawałek kodu, ale nie będzie on w pamięci. Ta sytuacja nazywa się usterką strony, a system operacyjny będzie musiał ją przetworzyć przez nowe. Jeśli brakujące dane na dysku nie zostaną znalezione, proces zakończy się awaryjnym. Jeśli tak, system pobiera kod z dysku, ale w tym celu musisz uwolnić określoną liczbę innych stron pamięci. W rezultacie proces zwany tashingiem zaczyna się, gdy system operacyjny jest zaangażowany tylko w to, co uwalnia nowe strony, usuwając zawartość i ładując do nich brakujące dane.
Obecność pliku zamiany po prostu rozwiązuje ten dylemat. Zamiast po prostu czyszczyć strony pamięci, system upuszcza zawartość na dysku, który, jak to było, rozszerza objętość fizycznego pamięci RAM. W tym samym czasie niszczenia są zastępowane pojedynczą procedurą odczytu/nagrywania.
Oczywiście opisaliśmy ten proces dość schematycznie, w rzeczywistości ma wiele niuansów i raczej skomplikowany algorytm wdrażania. W każdym razie obraz jest następujący: jeśli wykonasz wystarczająco duży plik swap, rzadko używane i niezmienione dane, gdy deficyt z pamięci RAM „zostawiaj” na dysku, gdzie, jeśli to konieczne, można je usunąć tyle razy, ile jest tak wiele razy niezbędny.
Jeśli sekcja pliku/huśtawki jest niewielka, będzie z tego niewielkie korzyści, ponieważ prędzej czy później wolna przestrzeń zostanie na nim wyczerpana, a następnie „tańczenie” z ciągłymi operacjami nagrywania w pliku pieprzu rozpocznie się od nowa, co będzie bardzo spowolniony, który będzie bardzo spowolniony przez system.
Odpowiadając na pytanie dotyczące potrzeby wymiany w Linuksie, można argumentować następujące:
- Pomaga rozładować system, gdy program żąda objętości pamięci fizycznej, której nie ma w systemie. W takich przypadkach rdzeń Linux analizuje, jakie strony odwołanie występuje rzadziej, zrzuca swoją zawartość na dysku i rozróżnia wymaganą liczbę stron do bieżącego procesu;
- Osobliwość wielu programów polega na tym, że w momencie ich uruchomienia część stron jest zajęta danymi używanymi tylko w momencie inicjalizacji procesu/aplikacji. System może i powinien upuścić te strony w zamian, rozładowując OP.
Ale nie wszystko jest takie proste. Wymiana nie jest również pozbawiona wad, z których główną jest szybkość operacji nagrywania/czytania z dysku. Wystarczy powiedzieć, że w transakcjach z pamięcią fizyczną, prędkość ta jest mierzona w nanosekundach (po prostu spójrz na charakterystykę układów OM), a dla dysku twardego jest to milisekunda, to znaczy kilka rzędów wielkości więcej. Kurs wymiany danych SSD ma znacznie większy kurs danych, ale ze względu na powolny interfejs nadal są nieporównywalne z wskaźnikami pamięci RAM. Okazuje się, że przy częstym rozładowaniu stron pamięci w zamian system może również działać wolniej.
Jest to szczególnie powszechne, jeśli komputer jest używany jako serwer, a w przypadku Linux jest to większość komputera. Z brakiem pamięci bazy danych zwykle wpadają w liczbę pierwszych ofiar, a jeśli jest to MySQL, jego upadek zagraża niedostępności witryny lub jej stron, więc tak ważne jest, aby serwery mają dużą wymianę głośności Sekcja - Pozwól witrynie działać lepiej niż będzie całkowicie niedostępne.
Jak utworzyć i skonfigurować plik wahania za pomocą przykładu Ubuntu
Procedura tworzenia pliku pompowania jest dość skomplikowana, wymaga pewnych umiejętności pracy z wierszem poleceń.
I pierwszy etap - musimy dowiedzieć się, czy w systemie jest wybrana sekcja lub plik.
Sprawdzanie dostępności zamiany w Ubuntu
Używamy polecenia:
Swapon -s
Lub
darmowe -m
Jeśli zamiana jest nieobecna, w pierwszym przypadku otrzymasz pustą linię, w drugiej - tabela używania pamięci wirtualnej, w której linia zamiany będzie zawierała zera.
Jeśli nie ma pliku pompowania, musisz zdecydować, czy można go utworzyć.
Sprawdzanie obecności wolnej przestrzeni na dysku
Wykonujemy polecenie
Df -h
Wyświetlona zostanie tabela w przybliżeniu następującej zawartości:
Dysk ma około 23 GB wolnej przestrzeni, jest to więcej niż wystarczy, aby utworzyć plik swap.
Jaki rozmiar stworzyć swap
Rozmiar pliku pompowania zależy od wielu czynników:
- ile pamięci RAM w systemie;
- Jaki jest skład zastosowanych programów/aplikacji;
- Czy zamierzasz używać trybu uśpienia;
- Czy będą używane tajne pliki.
Oczywiście głównym aspektem jest objętość pamięci fizycznej. Jeśli jest mniej niż 2 GB, plik SAWP jest potrzebny więcej niż 1,5-2 razy większy, to znaczy do 4 GB.
Jeśli masz 3-4 GB pamięci RAM, najpierw zdecyduj, czy użyjesz trybu uśpienia. Jeśli tak, zaleca się wybór woluminu pliku pompowania z obliczeń 110-115% ilości pamięci RAM, jeśli nie, idealną opcją jest plik zamiany tego samego woluminu.
Jeśli masz potężny komputer, a objętość OP przekracza 6 GB, rozmiar pliku swap w Linux wybierze z obliczenia połowy ilości pamięci RAM. Jeśli planowane jest użycie trybu hibernacji, może być wymagany eksperyment, aby dowiedzieć się, ile pamięci RAM jest używane w trybie uśpienia i wybrać wartość na podstawie uzyskanych wyników. Na szczęście możesz w dowolnym momencie utworzyć plik wahania, niekoniecznie na etapie instalacji Linux.
Zalecane rozmiary pliku zamiany w Linux w dokumentacji Fedora
Tworzenie pliku zamiany w Linux
Procedura tworzenia pliku pompowania w Linux ma kilka opcji, z których jedna jest uważana za tradycyjną, a druga jest przyspieszona.
Na początek zapoznamy się z szybką drogą, która polega na użyciu jednego zespołu:
Fallokal -l 2G/Swapfile
Tutaj drugi parametr wskazuje rozmiar utworzonego pliku, wyrażonego w GB (jeśli litera nie jest wskazana, system interpretuje parametr w biurze projektowym, należy to wziąć pod uwagę).
W takim przypadku plik zostanie utworzony i dostępny natychmiast po wykonaniu polecenia, więc zaleca się użycie tej konkretnej metody.
Druga opcja, tradycyjna:
Dd if =/dev/zero =/swapfile bs = 1m liczba = 2096
Tutaj parametr BS wskazuje, w których jednostkach ustawiamy rozmiar jednego bloku dla pliku zamiany. W tym przypadku - 1 megabyt. Parametr liczby wskazuje liczbę takich bloków przydzielonych do pliku pompowania, a ilość 2 GB jest w sumie uzyskiwana, jak w pierwszej wersji.
Sam zespół DD w Linux oznacza kopię skoku, parametr IF wskazuje, gdzie kopiować, w naszym przypadku jest /dev /zero- specjalny plik z zero bajtów. Parametr wskazuje, że zarejestrujemy te zerowe bajty w pliku /swapfile.
Zauważ, że podczas korzystania z tego polecenia błąd jest niedopuszczalny. Jeśli niepoprawnie wskażesz parametr, istnieje szansa na uszkodzenie ważnych danych.
Jeśli określiłeś niewystarczający rozmiar pliku pompowania (może się to dowiedzieć znacznie później), zwiększyć lub po prostu zmienić rozmiar wymiany ubuntu, możesz wyłączyć bieżący (jak to zrobić, powiemy później) i tworzenie go ponownie zgodnie z algorytmem podanym tutaj z prawidłowym rozmiarem.
Jak podłączyć plik swap
Plik pompowy jest ważny z punktu widzenia systemu operacyjnego, a jego edycja może prowadzić do jego zapaści. Dlatego ważne jest ograniczenie dostępu do zamiany przez następne polecenie:
CHMOD 600 /SWAPFILE
W rezultacie tylko użytkownik root (analog administratora w systemie Windows) będzie miał prawo do czytania i pisania w nim).
Dalsze ustawienie pliku zamiany polega na konwersji /swapFile na plik pompujący za pomocą polecenia
MKSWAP/SWAPFILE
A ostatnim zespołem, którego działaniem jest połączenie zamiany z systemem (jego włączenie):
Swapon/Swapfile
Teraz jest całkowicie gotowy do pracy.
Dodawanie zamiany do automatycznego ładowania
Tak więc po każdym ponownym uruchomieniu, nie podłączając plik pompowania do systemu do najnowszej polecenia poprzedniej sekcji, wprowadzamy do pliku /etc /fstab za pomocą dowolnego edytora tekstu, który będzie używany w każdym pobieraniu Linux:
/SwapFile Brak zamian domyślnie 0 0
Po ponownym uruchomieniu komputera możesz sprawdzić prawidłowe działanie polecenia bezpłatnego -m.
Jak wyczyścić zamianę w Ubuntu
Czasami może być konieczne tymczasowe zwolnienie miejsca na dysku, a często to plik pompowania jest jedynym prawdziwym kandydatem do tych celów.
Czyszczenie wymiany (a raczej rozłączenie) jest przeprowadzane przez polecenie
Swapoff -a
Włączenie jest dokonywane przez polecenie
Swapon -a
RADA. Nie zaleca się odłączania wymiany w ten sposób, ponieważ dane są po prostu zerowe, bez przeniesienia do pamięci RAM. Jeśli te, które są używane przez procesy systemowe, mogą postępować zgodnie z upadkiem systemu.
Jeśli zdecydujesz się całkowicie odmówić użycia pliku pompowania, możesz usunąć zamian w następujący sposób:
cat/proc/swaps (określ lokalizację pliku swap)
SWAPOFF/DIR/SWAPXXXXX (wyłącz plik wahania, tutaj jest wynikiem wykonania poprzedniego polecenia, to znaczy katalogu z plikiem, a SwapXXXXX jest nazwą samego pliku huśtawki)
RM /Dir /Swapxxxxx (Usuń plik z dysku)
Jeśli dodałeś zamian do obciążenia magistrali, musisz go usunąć, usuwając odpowiednią linię w pliku /etc /fstab (na przykład edytor GEDIT).
Ale przypomnij sobie, że bez obecności pliku zamiany system może działać niestabilne, szczególnie przy niewielkiej ilości pamięci RAM, więc usunięcie pliku huśtawki bez tworzenia nowego jest zdecydowanie zalecane.