Свап меморија је кључна компонента Линукс оперативних система и представља механизам управљања активним програмима. Она омогућава корисницима Линукса да привремено сачувају податке из РАМ меморије, што омогућава чак и додељивање додатне меморије апликацијама у ситуацијама када се физичка РАМ меморија исцрпи. Практично, сваки корисник би требало да користи свап. Традиционално, Линукс дистрибуције су користиле посебну партицију на диску за свап меморију, што је био устаљен начин дуго времена. Међутим, 2017. године, уведена је употреба свап фајлова. На пример, Убунту је недавно прешао са свап партиција на свап фајлове, а очекује се да ће и друге дистрибуције следити тај пример. Зашто? Једноставно, због практичности. Тиме се смањује број партиција које треба креирати приликом инсталације, што убрзава сам процес инсталације. Штавише, величина свап фајла се може лако повећавати без потребе за поновним партиционисањем диска, а фајл се може брзо деактивирати. У наставку је објашњено како се може подесити свап фајл на Линуксу.
Напомена: Свап фајл се може конфигурисати на било којој Линукс дистрибуцији. Прво, инсталирајте вашу Линукс дистрибуцију без креирања свап партиције! Имајте на уму да ово подразумева да не користите стандардни, једноставни инсталациони програм.
Често, за добијање инсталације „без свапа“ потребно је извршити „прилагођену инсталацију“. То укључује ручно партиционисање диска, дефинисање партиција и тачака монтирања, као и (уколико користите УЕФИ) креирање партиције за покретање.
На пример: у Убунту инсталационом програму, да бисте одабрали прилагођену инсталацију, означили бисте опцију „нешто друго“. У другим Линукс дистрибуцијама, ово може бити означено као „прилагођено подешавање“ или нешто слично.
Ако користите БтрФС систем датотека, немојте следити ова упутства. БтрФС не подржава свап фајлове.
Подешавање свап фајла
Креирање свап фајла подразумева прављење фајла помоћу `dd` команде. Користићемо `dd` алат за стварање фајла. Важно је напоменути да би величина свап фајла требало да буде једнака величини ваше РАМ меморије. Унесите наредни низ команди тачно онако како је приказано, као једну команду:
У случају успешне команде, биће затражено да унесете број (у ГБ) који ће бити конвертован у мегабајте. Нема потребе за калкулацијама.
Напомена: Уколико имате више од 4 ГБ РАМ-а, подесите величину свап фајла на половину РАМ-а.
echo 'enter gigabytes:';read gigabytes;calculated=$((1024 * $gigabytes))
Прорачун за свап фајл је припремљен. Терминал је сачувао прорачун унутар променљиве `$calculated`. Сада ћемо употребити ову вредност у `dd` команди. Важно је знати да процес креирања свап фајла може потрајати и да се неће појавити екран за учитавање. Када терминал буде спреман, унесите следећу команду:
sudo dd if=/dev/zero of=/swapfile bs=1M count=$calculated
Затим, промените дозволе за свап фајл у `/`. Ово је неопходно како би систем имао пун приступ фајлу. Без тога, свап неће радити исправно.
Покрените роот шел са командом: `sudo -s`
chmod 600 /swapfile
Са исправљеним дозволама, време је да употребите `mkswap` команду. Ово је алат који претвара партицију или фајл у свап простор.
mkswap /swapfile
Дозволе су сада подешене и све је припремљено за употребу. Следећи корак је да обавестите Линукс систем да укључи свап. Ово се постиже командом `swapon`.
swapon /swapfile
Након извршавања ове четири команде, свап фајл би требало да буде активан и спреман за коришћење. Међутим, то није довољно јер систем мора знати при покретању шта је свап и где се налази. Ово се постиже уређивањем фајла `/etc/fstab` (табела система датотека).
Започните додавањем коментара на крај фајла. Ово је за обележавање табеле система датотека ради лакшег сналажења и будућих измена.
echo "# Swap file" >> /etc/fstab
Затим додајте линију испод коментара која наводи локацију свап фајла на систему, како систем треба да га третира итд.
echo "/swapfile none swap defaults 0 0" >> /etc/fstab
Након ових измена, рестартујте систем. Од сада, када се ова Линукс машина покрене, имаће спреман свап фајл за коришћење.
Деактивирање свап фајла
За разлику од свап партиције, корисници могу једноставно да деактивирају свап фајл и ослободе простор на диску. Нема потребе за поновним партиционисањем. Трајно онемогућавање свапа је једноставан процес у 3 корака.
Почните отварањем терминала и уносом следеће команде:
sudo nano /etc/fstab
Затим потражите било шта што се односи на свап (као што је коментар који показује кориснику да се ради о уносу за свап) и обришите те линије. Сачувајте измене у фајлу притиском на `Ctrl + O`.
Након што сте сачували измене, искључите свап.
sudo swapoff -a
Пређите у коренски директоријум система датотека.
cd /
Обришите сам свап фајл.
sudo rm swapfile
Рестартујте рачунар. Након поновног покретања, свап фајл је потпуно уклоњен и деактивиран.
Закључак
Свап је корисна функција која омогућава додатне ресурсе програмима када им понестане меморије. Свап фајлови имају бројне предности. Они омогућавају лако креирање и деактивирање свап простора без потребе за поновним партиционисањем диска. Штавише, њихова величина се може мењати у ходу, по потреби. Надам се да ће овај водич помоћи корисницима Линукса да разумеју предности коришћења свап фајла уместо наменске свап партиције.