Neni nad praktickou ukázku, já právě vycházel z tohoto článku, kde se swap rozebírá "Vytvoření odkládacího prostoru na disku"
Odkládací soubor (swap) je běžný soubor a není pro jádro systému ničím zvláštní. Jediná
vlastnost, která má pro jádro význam, je, že odkládací soubor nemá tzv. prázdná místa. (angl.
holes) a že je připraven pro použití programem mkswap. Musí být navíc (z důvodů implementace)
uložený na lokálním disku, takže nemůže být uložen v souborovém systému, který
je připojen pomocí NFS.
Zmínka o dírách je důležitá. Odkládací soubor si rezervuje určitý diskový prostor, takže jádro systému pak může rychle odložit stránku paměti bez toho, že by muselo absolvovat celou proceduru alokace diskového prostoru, která se používá pro běžný soubor. Jádro využívá pouze
ty sektory, které byly pro odkládací soubor vyhrazeny. Protože prázdné místo v souboru znamená, že tomuto místu souboru nejsou přiděleny žádné diskové sektory, nebylo by pro jádro systému dobré je využívat.
Jeden ze způsobů, kterým lze vytvořit odkládací soubor bez prázdných míst, je:
$ dd if=/dev/zero of=/extraswap bs=1024 count=1024
1024+0 records in
1024+0 records out
$
kde /extraswap je jméno odkládacího souboru, jeho velikost je uvedená za parametrem
count=. Ideální je zvolit velikost jako násobek 4, protože jádro systému zapisuje do odkládacího prostoru stránky paměti, které jsou 4 kilobajty velké. Nebude-li velikost násobkem 4,
může být poslední pár kilobajtů nevyužitý.
Disková oblast pro swap. rovněž není ničím neobvyklým. Vytvoří se stejně, jako každá jiná
disková oblast. Jediným rozdílem je, že se "používá jako syrové zařízení, tedy bez souborového systému". Je dobré označit ji jako typ 82 (.Linux swap.). I když to jádro systému striktně nevyžaduje, vnese to do seznamu diskových oblastí řád.
Poté, co byli vytvořeny diskový segment pro odkládací prostor nebo odkládací soubor, je potřeba zapsat na jejich začátek odpovídající označení, které obsahuje některé informace významné z hlediska správy systému a informace, je využívá jádro systému. Provede se to příkazem mkswap tímto způsobem:
$ mkswap /extraswap 1024
Setting up swapspace, size = 1044480 bytes
$
Je důležité si uvědomit, že odkládací prostor systém zatím nevyužívá. Sice existuje, ale jádro
systému jej jako virtuální paměť zatím nezná.
Při zadávání příkazu mkswap byste měli být velice opatrní, protože program nekontroluje,
zda se soubor nebo disková oblast nevyužívá k jiným účelům. Příkazem mkswap proto můžete
lehce přepsat důležité soubory nebo celé diskové segmenty! Naštěstí budete tento příkaz potřebovat pouze kdy. instalujete operační systém.
Linuxový manažer paměti omezuje velikost každého z odkládacích prostorů na asi 127 MB
(z různých technických důvodů je současný limit (4096-10) x 8 x 4 096=133 890 048 bajtů
neboli 127,6875 MB). Avšak současně můžete využívat až 16 odkládacích prostorů, tedy celkem
téměř 2 GB.