Характеристики на създаване и свързване на SWAP файл към Linux

Характеристики на създаване и свързване на SWAP файл към Linux

Количеството RAM в компютъра е ограничено. Най -често за финансови съображения, макар и чисто технически, не можете да зададете OP повече в конкретна дънна платка, отколкото е предвидено в неговите спецификации. И ако е така, ситуациите, когато има липса на памет, не са рядкост, особено за многоразумни операционни системи. Те включват Linux и въпреки че се счита за по -малко взискателни за PC ресурсите, не може да се нарече идеално и идеално. Дефицитът на RAM се решава по различни начини. Една от най -оптималните от тях е използването на файл или секция на диск, където данните се съхраняват временно, които се извличат във физическата памет, ако е необходимо.

Какво е суап

Linux -подобна OS под суапа разбира механизма на организацията на виртуална памет, в която част от данните, съхранявани в RAM (обикновено рядко се използва), се премества в временно съхранение в специална секция или файл на твърд или твърд -държавен Диск.

Целият обем физическа памет в Linux е разделен на страници. Ако е необходимо, съдържанието на отделните страници се премества в специалния диск, наречен Swap Space или в отделен файл (аналог на помпения файл в Windows). Процесът на освобождаване на самия ОП се нарича размяна, а общият размер на физическата и суап паметта се нарича - обемът на достъпната виртуална памет.

За какво е суап за

Многозадачността не означава едновременно отваряне на много програми. Дори и да стартираме браузър, той самият използва много библиотеки, всяка от които използва собствена област на паметта. Всеки нов раздел, всеки отворен документ е все повече и повече страници с памет, които може да не са достатъчни в определен момент.

И ако няма безплатни страници за новия раздел, операционната система е принудена да участва в пускането на паметта. И какво да освободите, ако всички страници са заети с необходимите данни или кеш? Който се използва по -рядко. Но рано или късно ще е необходимо разтоварено парче код, но няма да бъде в паметта. Тази ситуация се нарича грешка на страницата и ОС ще трябва да я обработи чрез нов. Ако липсващите данни на диска не бъдат намерени, процесът ще сложи край на спешни случаи. Ако е така, системата ще изтегли кода от диска, но за това ще трябва да освободите определен брой други страници на паметта. В резултат на това започва процесът, наречен копаенето, когато ОС е ангажирана само в това, което освобождава нови страници, премахване на съдържанието им и зареждане на липсващите данни в тях.

Наличието на суап файл просто решава тази дилема. Вместо просто да почисти страниците на паметта, системата изпуска съдържанието си на диска, което, както беше, разширява обема на физическата овен. В същото време изхвърлянето се заменя с една процедура за четене/запис.

Разбира се, ние описахме процеса доста схематично, всъщност той има много нюанси и доста сложен алгоритъм за изпълнение. Във всеки случай картината е следната: ако направите файл за суап достатъчно голям, рядко използвани и непроменени данни, когато дефицитът от RAM „остави“ на диск, където, ако е необходимо, те могат да бъдат премахнати толкова пъти, колкото много пъти необходимо.

Ако секцията File/Swing е малка, ще има малки ползи от него, тъй като рано или късно свободното пространство ще бъде изчерпано и след това ще „танцува“ с постоянни операции за запис във файла с пипер ще започне отново, което ще бъде отново, което ще бъде много забавен, който ще бъде много забавен от системата.

Отговаряйки на въпроса за необходимостта от суап в Linux, може да се спори следното:

  • Той помага да се разтовари системата, когато програмата поиска обемът на физическата памет, който не е в системата. В такива случаи ядрото на Linux анализира какви страници обжалването се появява по -рядко, пуска съдържанието им към диска и разграничава необходимия брой страници към текущия процес;
  • Особеността на много програми е, че към момента на стартирането им част от страниците е зает с данни, които се използват само в момента на инициализация на процеса/приложението. Системата може и трябва да пусне тези страници в суап, разтоварвайки ОП.

Но не всичко е толкова просто. Смяната също не е лишена от недостатъци, основната от които е скоростта на операциите за запис/четене от диск. Достатъчно е да се каже, че при транзакции с физическа памет тази скорост се измерва в наносекунди (просто погледнете характеристиките на чиповете на ОМ), а за твърд диск е милисекунда, тоест няколко порядъка повече. SSD валутният курс има много повече валутен курс, но поради бавния интерфейс, те все още са несравними с RAM индикаторите. Така се оказва, че с чести изхвърляния на страниците с памет в суап системата също може да работи по -бавно.

Това е особено често, ако компютърът се използва като сървър и с Linux това е по -голямата част от PC. С липса на памет базите данни обикновено попадат в броя на първите жертви и ако е mysql, тогава нейното падане заплашва недостъпността на сайта или неговите страници, така че е толкова важно сървърите да имат голям обем размяна Раздел - Нека сайтът работи по -добре, отколкото ще бъде напълно недостъпен.

Как да създадете и конфигурирате люлеещ файл с помощта на примера на Ubuntu

Процедурата за създаване на помпа файл е доста сложна, изискваща определени умения в работата с командния ред.

И първият етап - трябва да разберем дали има раздел или файл, избран под суап в системата.

Проверка на наличието на суап в Ubuntu

Използваме командата:

Swapon -s

или

безплатно -m

Ако суап отсъства, в първия случай ще получите празна произтичаща линия, във втората - таблица за използване на виртуална памет, в която линията за суап ще съдържа нули.

Ако няма изпомпващ файл, трябва да решите дали е възможно да го създадете.

Проверка на наличието на свободно пространство на диска

Изпълняваме командата

Df -h

Ще бъде показана таблица с приблизително следното съдържание:

Дискът има около 23 GB свободно пространство, това е повече от достатъчно, за да създаде Swap файл.

Какъв размер да създадете суап

Размерът на помпения файл зависи от много фактори:

  • колко е RAM в системата;
  • Какъв е съставът на използваните програми/приложения;
  • Възнамерявате ли да използвате режим на сън;
  • Ще се използват ли тайните файлове.

Разбира се, основният аспект е обемът на физическата памет. Ако е по-малко от 2 GB, файлът SAWP е необходим повече от 1,5-2 пъти по-голям, тоест до 4 GB.

Ако имате 3-4 GB RAM, тогава първо решете дали ще използвате режим на сън. Ако е така, препоръчително е да изберете обема на помпения файл от изчислението на 110-115% от количеството RAM, ако не, идеалната опция е Swap File със същия обем.

Ако имате мощен компютър и обемът на ОП надвишава 6 GB, размерът на Swap файла в Linux изберете от изчислението на половината от количеството RAM RAM. Ако е планирано да се използва режимът на хибернация, може да се изисква експеримент, за да се разбере колко RAM се използва за режим на заспиване и да изберете стойност въз основа на получените резултати. За щастие можете да формирате люлеещ файл по всяко време, а не непременно на етапа на инсталацията на Linux.

Препоръчителни размери на файла за суап в Linux в документацията Fedora

Създаване на суап файл в Linux

Процедурата за създаване на помпа за изпомпване в Linux има няколко опции, едната от които се счита за традиционна, а другата е ускорена.

Като начало ще се запознаем с бързия начин, който се състои в използването на един екип:

Fallocate -L 2G/SwapFile

Тук вторият параметър показва размера на създадения файл, изразен в GB (ако буквата не е посочена, системата ще интерпретира параметъра в бюрото за проектиране, това трябва да се вземе предвид).

В този случай файлът ще бъде създаден и достъпен веднага след изпълнението на командата, така че е препоръчително да се използва този конкретен метод.

Вторият вариант, традиционен:

Dd if =/dev/Zero of =/swapfile bs = 1m брой = 2096

Тук параметърът BS показва, в които единици зададем размера на един блок за файла за суап. В този случай - 1 мегабайт. Параметърът на броя показва броя на такива блокове, разпределени за помпения файл, а сумата от 2 GB се получава общо, както в първата версия.

Самият екип на DD в Linux означава копие на стъпка, параметърът IF показва къде да копирате, в нашия случай е /dev /Zero- специален файл с нулеви байта. Параметърът на параметъра показва, че ще запишем тези нулеви байтове във /swapfile файла.

Обърнете внимание, че когато използвате тази команда, грешката е неприемлива. Ако неправилно посочите параметъра, тогава има вероятност от повреда на важни данни.

Ако сте посочили недостатъчния размер на помпения файл (това може да разбере много по -късно), да увеличите или просто промените размера на суапа Ubuntu, можете да изключите текущия (как да направите това, ще ви кажем по -късно) и Създаването му отново според алгоритъма, даден тук с правилния размер.

Как да свържа Swap файл

Помпеният файл е важен от гледна точка на операционната система и редактирането му може да доведе до неговия срив. Ето защо е важно да се ограничи достъпа до суап до следващата команда:

Chmod 600 /swapfile

В резултат на това само коренният потребител (администратор на аналог в Windows) ще има право да чете и пише в него).

По -нататъшната настройка на файлове за суап е да конвертирате /swapfile в помпещ файл с помощта на команда

Mkswap/swapfile

И окончателният екип, чието действие е да свърже суапа към системата (нейното включване):

Swapon/swapfile

Сега той е напълно готов за работа.

Добавяне на суап към автоматично зареждане

Така че след всяко рестартиране, за да не свързваме помпения файл към системата към най -новата команда на предишния раздел, ние влизаме във файла /etc /fstab, използвайки всеки текстов редактор, който ще бъде използван при всяко изтегляне на Linux:

/Swapfile none swap по подразбиране 0 0

След рестартиране на компютъра можете да проверите правилната работа на командата Free -M.

Как да почистите суап в ubuntu

Понякога може да се наложи временно да освободите място на диска и често именно помпеният файл е единственият истински кандидат за тези цели.

Почистването на суап (или по -скоро, прекъсване) се извършва от командата

Swapoff -A

Включването се прави от командата

Swapon -A

Съвет. Не се препоръчва да се изключи суап по този начин, тъй като данните са просто нула, без да се прехвърля на RAM. Ако тези, които се използват от системни процеси, могат да следват срива на системата.

Ако решите да откажете напълно да използвате помпения файл, можете да изтриете суап, както следва:

CAT/PROC/SWAPS (Определете местоположението на файла за суап)

Swapoff/dir/swapxxxxx (Изключете люлеещия се файл, тук DIR е резултат от изпълнение на предишната команда, тоест директория с файл, а swapxxxxx е името на самия люлеещ файл)

Rm /dir /swapxxxxx (изтрийте файла от диска)

Ако сте добавили суап към натоварване на шината, трябва да го премахнете оттам, като изтриете съответния ред във файла /etc /fstab (например, редактор на GEDIT).

Но припомнете си, че без наличието на файл за суап, системата може да работи нестабилна, особено с малко количество RAM, така че изтриването на люлеещ файл, без да създава нов, силно се препоръчва.