Како направити замјенску датотеку на Линуку

Додајте свап простор на Линук рачунар или повећајте свап простор који је већ присутан, без петљања са партицијама. Показујемо вам једноставан начин да прилагодите свој простор за замену.

Замена датотека у односу на замену партиција

Постоји неколико сценарија у којима бисте можда желели да повећате постојећи или додате нови простор за размену на свом Линук рачунару.

Можда ваш простор за замену често ради на максимуму или близу максимума.
Лако је кликнути на погрешну опцију током процеса инсталације и ненамерно одбити додавање замене вашем систему.
Можда сте раније одлучили да имате толико тога РАМ меморија (РАМ) није вам била потребна никаква замена и предомислили сте се.
Понекад наследите администрацију система који нема замену, из разлога које никада нећете моћи да откријете.

Једноставно решење за све ово је додавање а пребаците датотеку на свој рачунар. Ово је посебна датотека, унапред додељена и резервисана за коришћење као простор за размену. Свап датотека ће радити у тандему са било којом постојећом заменом коју можда имате, било да је то свап датотека или свап партиција.

Једно време је дошло до смањења перформанси за коришћење свап датотеке у поређењу са свап партицијом. То више није случај са побољшањима у перформансама механичких (ротирајућих) чврстих дискова и већом ефикасношћу у функцијама замене унутар Линук оперативног система. У ствари, неке Линук дистрибуције сада подразумевано креирају свап датотеке, а не свап партиције.

Свап се не користи само као средство за ослобађање РАМ-а када вам понестане меморије. То је важан део система који добро функционише. Без икакве замене, разумно управљање меморијом постаје веома тешко за кернел. Хајде да погледамо једноставан начин да додате мало простора за размену.

Пре него што заронимо: Бтрфс и ССД

Постоје две тачке о којима бисмо желели да брзо разговарамо.

Тхе Бтрфс систем датотека има одређена упозорења у вези свап датотекама. Својевремено је дошло до сукоба између копирај-на-пиши природа Бтрф-а, који је желео да ради на један начин и да мења датотеке које су требале да раде на други. Неке функције од којих зависе свап датотеке нису имплементиране, а неке претпоставке које су направљене о нумерирању блокова унутар свап датотека нису биле истините са Бтрфс-ом. Дакле, свап датотеке нису подржане.

Од кернела 5.0, ви може имати свап датотеке у Бтрфс системима датотека ако су постављени са следећим захтевима:

Нема датотека за копирање на уписивање (НОЦОВ).
Нису компримовани.
Не користе различите чврсте дискове.

Већина читалаца ће користити подразумевани ект4 систем датотека, тако да их ово неће бринути.

Када су Солид-Стате дискови (ССД) први пут били доступни, постојала је забринутост око њиховог коришћења у ситуацијама које су имале честе записе система датотека. Људи су упозорени да не стављају смеп простор на ССД-ове, па чак и да избегавају системско евидентирање на ССД-овима.

  Како да закажете свој Мац да се искључи или спава

Ово је много мање забрињавајуће у данашње време, а многи ССД дискови који су у продаји имају очекивани животни век који ће наџивети већину рачунара. Свап датотека на ССД-у ће имати далеко боље перформансе од свап партиције на механичком чврстом диску.

Провера постојећег простора за замену

Погледај пре него што скочиш. Хајде да проверимо који је свап простор доступан на вашем рачунару. То можете учинити на два начина, а ми ћемо користити оба. Команда фрее ће приказати коришћену и слободну меморију. Опција -х (читљиво за људе) ће омогућити слободну употребу разумних јединица када приказује вредности меморије.

free -h

Излаз из фрее показује да на овој машини није конфигурисан свап простор.

О размени се никада не расправља без РАМ-а и бесплатног РАМ-а. Дакле, вреди напоменути да је бесплатна РАМ меморија дата као 237 МБ. Немојте то погрешити са укупном РАМ меморијом која је доступна за коришћење. Ту вредност обезбеђује „доступна“ цифра, која износи 881 МБ.

Линук користи бесплатну РАМ меморију за своје потребе, као што су кеширање датотека и бафери кернела. Количина РАМ-а посвећена томе је цифра „буфф/цацхе“, која износи 871 МБ. Али то сећање се и даље сматра — и рачуна као — „доступним“. Садржај „буф/цацхе“ РАМ-а може се одмах одбацити и користити од стране било које апликације којој је потребно мало меморије.

Други начин да проверите да ли је слободан простор доступан је коришћење команде свапон. Опција –схов не чини ништа промене замена на вашем рачунару. Даје само статистику.

swapon --show

Ако нема излаза из ове команде, није конфигурисана замена.

Ако су ове команде откриле да је неки размјењиви простор већ конфигурисан, величина постојећег свап простора треба да се узме у обзир у одлукама у вези са величином свап датотеке коју ћете креирати.

Колико простора за замену ми треба?

Традиционални одговор је био „двоструко већа количина РАМ-а коју имате“. Али ово је измишљено када су рачунари имали веома ограничен РАМ. Како је РАМ појефтинила, а програми и игре све више захтевали меморију, спецификације рачунара су се прилагодиле у складу са тим. Кућни рачунари са 32 ГБ РАМ-а нису неуобичајени у данашње време. И нећете доделити 64 ГБ простора на чврстом диску за замену простора ако имате 32 ГБ РАМ-а. То је очигледно претерано.

Количина замене која вам је потребна је као запаљива тема, упоредива са „који је најбољи уредник“. Једна од најразумнијих дискусија које смо видели на ову тему је у Убунту свап ФАК. То је кратак и здрав разуман приступ (иако, као и многи људи, они погрешно разумеју како замена функционише на Линук-у). Постоји згодна табела која приказује препоручену количину простора за замену за количину РАМ-а који ваш систем има, и да ли сте у хибернацији рачунара или не.

  Како сазнати који ЦМС се користи на веб локацији?

А добра вест је да није битно коју вредност изаберете. Увек можемо уклонити свап датотеку и заменити је већом или, у том случају, мањом. Или можете једноставно додати још једну датотеку за замјену.

Пицк величина датотеке за замену из табеле, и покрените га неко време. Пратите коришћење простора за размену од стране вашег система. Ако је потребно фино подешавање, промене се лако уносе. Са свап фајловима, то је посао од два минута. Упоредите то са подешавањем партиција на живом Линук рачунару.

Креирање Свап датотеке

Не би требало да користите команду фаллоцате да креирате своју датотеку за замену. Ово је са ман странице за свапон:

The swap file implementation in the kernel expects to be able to write to
the file directly, without the assistance of the file system. 

This is a problem on files with holes or on copy-on-write files on file 
systems like Btrfs. Commands like cp(1) or truncate(1) create files with 
holes. These files will be rejected by swapon. 

Preallocated files created by fallocate(1) may be interpreted as files 
with holes too depending of the filesystem. Preallocated swap files are 
supported on XFS since Linux 4.18. 

The most portable solution to create a swap file is to use dd(1) and 
/dev/zero.

Дакле, иако је фаллоцате бржи, користићемо дд да креирајте датотеку за замену. Машина коришћена за истраживање овог чланка има два ГБ РАМ-а. Направићемо датотеку за замену од једног ГБ.

Опције су:

иф: улазна датотека. У овом примеру користимо /дев/зеро који ће обезбедити ток од нула бајтова.
оф: Излазна датотека. Направићемо датотеку у основном директоријуму, која се зове свапфиле.
бс: Величина блока у бајтовима. Ово одређује колико бајтова треба читати из улазне датотеке и писати у излазну датотеку, одједном.
цоунт: Колико блокова за читање и писање. Помножите овај број са бс вредношћу да бисте добили величину датотеке.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

Неке статистике су обезбеђене када се датотека креира.

Можемо видети број блокова (записа) који су уписани у датотеку, величину датотеке, време потребно за креирање датотеке и ефективну брзину преноса података.

Користите команду лс да видите датотеку у основном директоријуму:

ls /

Припрема датотеке за замену

Морамо да припремите датотеку за замену са командом мксвап пре него што се може користити. Не морамо да дајемо никакве параметре за мксвап осим путање и имена датотеке:

sudo mkswap /swapfile

Датотека је припремљена за употребу као свап датотека. Обратите пажњу на упозорење о дозволама за датотеке. Мораћемо да их променимо тако да роот корисник буде једини који може да чита и пише у датотеку за замену.

Коришћење Свап датотеке

Подразумеване дозволе су превише либералне, морамо их ограничити тако да само роот може да користи свапфиле. Користите цхмод да промените дозволе за фајлове:

sudo chmod 600 /swapfile

Ово уклања све дозволе од чланова групе датотека и других, али дозвољава власнику датотеке, роот-у, да чита и пише у датотеку.

Морамо да употребимо команду свапон да обавестимо Линук да је доступна нова датотека за свап. Потребно је само да наведемо путању и име датотеке:

sudo swapon /swapfile

Свап датотека је сада активна.

  Који оквир ради боље у 2023?

Додавање Свап датотеке у фстаб

Да бисте били сигурни да је ваша свап датотека доступна након поновног покретања, додајте је у /етц/фстаб датотеку. Можете користити било који уређивач текста који желите, али ми ћемо приказати процес помоћу графичког уређивача текста Гедит.

sudo gedit /etc/fstab

Линија коју треба да додамо на дно датотеке је:

/swapfile    none    swap    sw    0    0

Поља су:

Систем датотека: путања и назив датотеке за размену.
Тачка монтирања: Датотека није монтирана као систем датотека, тако да је унос „нема“.
Тип: Ово је „замена“.
Опције: У време покретања свапон -а (покрени све уређаје означене као свап) ће бити позван из једне од скрипти за покретање. Ова опција говори Линук-у да третира овај унос као свап ресурс који треба да буде под контролом те свапон -а команде. Уобичајено је видети „подразумеване вредности“ које се овде користе зато што међу неким корисницима Линук-а постоји погрешно уверење да се ово поље игнорише. Као што ћемо видети, то није случај. Дакле, има смисла користити исправну опцију.
Думп: Ово се може подесити на нулу. То је небитно у овом случају.
Пасс: Ово се може подесити на нулу. То је небитно у овом случају.

Сачувајте измене и затворите уређивач.

Провера коришћења замене

Да бисте видели да ли се ваш разменски простор користи, користите команду свапон са опцијом –схов:

swapon --show

Колоне су:

Име: Име свап партиције или свап датотеке.
Тип: Тип заменљивог уређаја.
Величина: Величина ресурса размене.
Искоришћено: Количина искоришћеног простора за замену.
Прио: Приоритет овог простора за замену.

Приоритет за замену простора

Сваком разменском простору се додељује приоритет. Ако га не обезбедите, један се аутоматски додељује. Аутоматски додељени приоритети су увек негативни. Опсег приоритета који се могу ручно доделити је од 0 до 32767. Прво се користе замени ресурси са вишим приоритетима.

Ако више од једног размјењивог простора има исти приоритет и они се користе наизменично док се оба не попуне, онда систем тражи замјенски простор са сљедећим најнижим приоритетом. Ако имате само један простор за замену, онда је приоритет наравно небитан. Али ми ћемо променити приоритет свапфајла који смо креирали да бисмо показали како то да урадимо.

Да бисте поставили приоритет, додајте опцију при= (приоритет) у /етц/фстаб унос. Уредите ред који сте додали у /етц/фстаб да изгледа овако:

/swapfile    none    swap    sw,pri=10    0    0

То јест, додајте при=10 у поље опција, одвојено од „св“ зарезом. Не остављајте размаке између „св“, зареза и „при=10“. Поново покрените рачунар и користите команду свапон –схов:

swapon -- show

Приоритет овог свап простора је подигнут на 10. Што је доказ да се поље опција у /етц/фстаб уносу не игнорише.

Лако мењање простора

Прекидајући кроз излагање и објашњење, можемо креирати нову датотеку за замену тако лако и брзо као што је ово:

sudo dd if=/dev/zero /of=/swapfile2 bs=1024 count=104857
sudo mkswap /swapfile2
sudo chmod 600 /swapfile2
sudo swapon /swapfile2

И хајде да проверимо да ли ради:

swapon --show

Ако желите да то трајно испустите, у вашу /етц/фстаб датотеку.

Бум. Посао обављен.