Odkládací prostor (Swap) umožňuje operačnímu systému využívat určitý prostor na pevném disku, který simuluje další paměť. Pomáhá to, když systém přejde do režimu nedostatku paměti tak, že doplní určitou část paměti RAM, která při nečinnosti daného programu může jej umístí na pevný disk, a tak se uvolní kapacita paměti pro ostatní životně důležité programy. Následně, když se uživatel vrátí k odloženému programu, odkládací prostor je využit jiným programem z paměti RAM. Tento inteligentní mix RAM s vyměňováním souborů je obyčejně nazýván jako virtuální paměť a jeho použití umožňuje v systému spustit daleko větší počet programů, než by to bylo možné pouze pomocí paměti RAM.
Výslovně v souvislosti s Linuxem, RAM na linuxovém serveru se skládá z paměťových bloků, technicky označovaných jako stránky. Chcete-li uvolnit tyto stránky v paměti RAM, v Linuxu to bude provedeno zkopírováním paměťové stránky z mateřské RAM do předem nakonfigurovaného místa na pevném disku. Takovýto linuxový swap umožňuje systému využívat více fyzické paměti, než bylo původně k dispozici.
Ačkoliv je to užitečný nástroj, trpí i několika nedostatky:
- Tato činnost vyvolává značné množství načítání a zapisování dat na pevný disk, což vždy do značné míry zpomaluje váš systém.
- Výměna může zkolabovat, pokud je systém zaplaven množstvím různě propletených souborů.
Předběžná kontrola před zřízením odkládacího prostoru
Než se pustíte do procesu zřízení odkládací prostoru, je nutné zkontrolovat všechny existující výměnné soubory, které mohou být povoleny ve VPS. Následující příkaz vás povede k požadovanému shrnutí:
Příkaz terminálu: |
---|
sudo swapon -s |
Výše uvedený příkaz musí vést k těmto výsledkům:
Pokud se zobrazí prázdný seznam, můžete si být jisti, že není povolen žádný odkládací prostor.
Přidání odkládacího souboru v Linux Mintu – krok za krokem
Po provedení předběžné kontroly si nyní můžete přidat odkládací prostor v Linux Mintu. Jediné, co proto musíte udělat, je následovat níže uvedené kroky:
Krok 1 – Kontrola systému souborů
Jakmile jste si jisti, že neexistuje žádný aktivní swap prostor na virtuálním serveru, je třeba zkontrolovat množství prostoru na tomto serveru pomocí příkazu df. Odkládací prostor by měl zabírat cca 256 MB, což by znamenalo pouhých 8% na /dev/sda z typické 32GB kapacity serveru. Můžete tedy pokračovat v procesu následující sadou příkazů k dokončení prvního kroku.
Ukázka volného místa na pevném disku
Krok 2 – Vytvoření odkládacího prostoru
Druhý krok zahrnuje vytvoření odkládacího souboru o velikosti 256 MB pomocí příkazu dd:
Příkaz terminálu: |
---|
sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k |
of=/swapfile označuje název prostoru. V tomto případě je název swapfile.
Odkládací prostor lze připravit pomocí následujícího příkazu:
Příkazy terminálu: |
---|
sudo mkswap/swapfile |
Výše uvedený příkaz pak zobrazí následující výsledek:
Vytvářím odkládací prostor verze 1, velikost = 262140 KiB
bez štítku, UUID = 103c4545-5fc5-47f3-a8b3-dfbdb64fd7eb
Dokončení kroku 2 musí vést k vytvoření odkládacího prostoru. Dalším krokem, jak je popsáno níže, bude aktivace takto vytvořeného odkládacího prostoru.
Krok 3 – Aktivace odkládacího prostoru
Proces vytváření odkládacího souboru v Linux Mintu potřebuje dokončit aby správně fungoval. To lze provést pomocí následujícího příkazu:
Příkazy terminálu: |
---|
sudo swapon /swapfile |
swapon -s |
Dokončení tohoto kroku musí umožnit uživateli zobrazit odkládací prostor, souhrn swapu se změní takto:
Filename Type Size Used Priority
/swapfile file 262140 0 -1
Prostor se zobrazí jak vidíte výše a bude existovat ve virtuálním privátním serveru do doby restartování počítače. Nicméně, můžete si vytvořit odkládací prostor trvale, a to provedením dalšího kroku.
Krok 4 – Přidání swap do souboru fstab
Chcete-li odkládací prostor, který jste právě vytvořili zachovat natrvalo, musíte jej přidat do souboru fstab. Následující příkaz vám pomůže otevřít tento soubor a editovat jej:
Příkaz terminálu: |
---|
sudo nano /etc/fstab |
Následně vložte následující řádek:
/swapfile none swap sw 0 0
Swappiness v souboru musí být v ideálním případě nastaven na 10, což uděláte pomocí následujících příkazů:
Příkazy terminálu: |
---|
echo 10 | sudo tee / proc / sys / vm / swappiness |
echo vm.swappiness = 10 | sudo tee-a / etc / sysctl.conf |
Důležité: Neprovedení této operace s výše uvedeným dílčím krokem může vést ke špatné funkci systému. Při nakonfigurování nastavení až na hodnotu 10 toto působí jako nouzová vyrovnávací paměť a tak lze odvrátit, aby při vstupech a výstupech z paměti došlo k chybě.
Krok 5 – Nastavení příslušných oprávnění pro odkládací prostor
Poslední krok v procesu vytváření odkládacího prostoru v Linux Mintu zůstává zřízení úrovně oprávnění k souboru. To je nezbytné pro zabránění čtení a zápisu do souboru nepovolaným a jeho zabezpečení. Můžete to provést pomocí některého z následujících příkazů:
Příkazy terminálu: |
---|
sudo chown root:root /swapfile |
sudo chmod 0600 /swapfile |
Test
Nakonec zbývá už jen otestovat, zda je odkládací prostor aktivní. Stačí jen zadat příkaz top:
Příkaz terminálu: |
---|
top |
Prostor pro swap by měl být zobrazen ve sloupci
Dobrý a velmi užitečný článek, děkuji. Chtěl bych se jen dotázat, jestli by nešel rozšířít o postup jak zvýšit nebo naopak snížit velikost již existujícího odkládacího prostoru? Ono se to nedělá moc často, ale i tak by se takový návod mohl docela hodit, a na tento článek by to mělo skvělou návaznost. Díky.
Chtěl bych se jen dotázat, jestli by nešel rozšířít o postup jak zvýšit nebo naopak snížit velikost již existujícího odkládacího prostoru?
Však toto je zde právě popsáno. K odebrání slouží příkaz swapoff.
Jestli tazatel nemel na mysli neco jako dynamickou zmenu velikosti swapu?
Ano, toto jsem měl na mysli.
Tak to jsem to asi chybně pochopil, myslel jsem, že v článku jde o přidání nového odkládacího prostoru a ne o úpravu již existujícího.
Dalo by se říci, že přidání nového prostoru je editace stávajícího :). Jinak se swapem jakožto oddílem se pracuje stejně jako s oddíly. Tedy jde například zvětšit v gparted po uvolnění místa jiným oddílem.
Ja osobne už dlhšiu dobu swap priestor nepoužívam. Už pri kapacte RAM 2Gb som nemal prakticky nikdy problém s viacerými otvorenými aplikáciami (kontrola cez Monitort systému). Vždy bolo minimálne 700Mb voľných. Teraz pri mojich 4Gb by to bolo zbytočné plytvanie miestom na disku. na staršom stolnom PC, kde je len 768Mb RAM som spravil swap pre istotu 1200Mb. Lenže v Xfce ju nie je ani čím zaplniť :-). To je moja skúsenosť.
Ďakujem, konečne sa mi podarilo opraviť a nahodiť swap 😀
Po inštalácii linuxu som nastavil ručne v /etc/fstab disky, aby sa disky mountovali pri štarte systému, a popri tom som si opdísal swap… (oprava v súbore už nepomohla…)
tak ja osobne som swap využíval hlavne na hibernáciu.. keďže som pendloval medzi dvoma OS… a stále zatvárať a otvárať xx okien, človeka prestane baviť…
A predsa uvoľniť 4 GB swap pre 4 GB ram ma nezabije 🙂
Mne po nainštalovaní LM17 neponúkne ani možnosť hibernácie, a pravdupovediac, nikdy som ju nevyužil. Mám času dosť. Takže dalo by sa povedať, že pre mňa zbytočné. Buď je noťas zapnutý celý deň, alebo je vypnutý. Ale verím, že veľa user to využije, hlavne pri práci s videami, garfikou a pootváranými aplikáciami na piatich plochách. Tomu verím.