Когато инсталирате Linux, процесът на настройка вероятно ще добави дял за суап към твърдия диск заедно с дяловете за самия Linux. Но за какво е използван този дял за суап и наистина ли е необходим?

Какво е суап?

Когато многозадачната операционна система изтече от физическата памет, тя не може да стартира нови процеси или да разпределя повече памет към съществуващите процеси. За да се реши този проблем, специален блок от пространство в локалното хранилище (често твърдият диск) е отделен, за да действа като временно място за задържане на процеси, които понастоящем не се изпълняват. Операционната система "замества" неактивния процес извън паметта и на твърдия диск. Това освобождава паметта за нова работа. Когато неактивният процес отново стане активен, той ще бъде сменен обратно от локалното хранилище в паметта. Тази процедура е известна като размяна.

Дали суап пространството наистина е необходимо?

Технически ли е необходимо суап пространството? Не. Linux може да работи без него, а в някои ситуации, като вградени решения, Linux може да работи без суап. Ако операционната система се натъкне на ситуация, в която няма достатъчно памет, тя ще се паникьосне и ще спре. Ако има достатъчно физическа RAM, устройството ще работи без никакви проблеми.

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

На машини, които не разполагат с достатъчно физическа RAM, за да остане всичко в паметта, използването на суап пространство е от съществено значение!

За пълнота е важно да се спомене, че Linux има и подсистема, наречена Killer Out-Of-Memory (OOM), която, вместо да спира ядрото, когато изчезне от паметта, ще започне да убива процесите, за да освободи ресурси. Действията му са конфигурируеми.

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

Няма абсолютно правило и тъй като пространството на твърдия диск е евтино (долар на Gigabyte), е по-добре да разпределите прекалено много, отколкото твърде малко пространство. Като правило, трябва да имате два или три пъти размера на суап пространството като физическа памет.

Добавяне на суап, без да се разширява разделът за суап

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

За да използвате друг твърд диск, създайте дял от типа "Linux swap" (код 82) и след това изпълнете командата " mkswap ", за да подготвите суап пространството:

 mkswap / dev / sdb2 

Където /dev/sdb2 е името на създадения от вас дял. За да използвате суап пространството веднага използвайте командата " swapon ":

 swapon / dev / sdb2 

Използвайте " swapon -s ", за да получите списък на използваните в момента суап пространства. За да добавите постоянно суап пространството към системата, ще трябва да редактирате файла /etc/fstab и да добавите ред, подобен на този:

 / dev / sdb2 няма суап sw 0 0 

Ако системата ви използва уникални идентификатори, за да наименувате дисковете, използвайте командата blkid да получите списък на идентификационните номера за устройствата. Линията за монтиране на swap пространството в /etc/fstab ще изглежда така:

 UUID = 036da155-1ea1-4392-b8d4-700f65aa1ead няма суап sw 0 0 

За да използвате файл за размяна, създайте голям празен файл (използвайки dd ) върху файловата система, която искате да използвате за смяна. Например, за да създадете 1 ГБ файл, въведете:

 dd ако = / dev / нула от = / store / swapfile bs = 1024 броя = 1048576 

Къде /store/swapfile е пътят до суап файла на желаната файлова система.

Както при допълнителния суап дял, файлът сега трябва да бъде подготвен с mkswap и след това да се използва със swapon . Той също така трябва да бъде добавен към файла /etc/fstab . Процедурата е точно същата като по-горе, но трябва да използвате /store/swapfile вместо /dev/sdb2 като параметър за суап пространство.

Swappiness

Линуксът на ядрото може да бъде променен, за да се определи колко агресивно би трябвало да се опита да се сменят процесите от паметта. Тази тенденция се контролира от променлива на ядрото, наречена swappiness . swappiness на 0 означава, че ядрото ще избегне размесването колкото е възможно повече, докато 100 означава, че ядрото ще бъде агресивно в начина, по който използва суап пространството. Настройката по подразбиране за много Linux дистрибуции е 60. Чрез тази команда може да промените динамично числото:

 sudo sysctl vm.swappiness = 10 

За да зададете стойност за постоянно, трябва да промените (или да добавите, ако не съществува) променливата vm.swappiness в /etc/sysctl.conf файла.

Уведомете ни, ако имате въпроси относно суап в Linux.