Три лесни стъпки за ускоряване на всяка Linux дистрибуция

Най-четени

Даниел Десподов
Даниел Десподов
Новинар. Увличам се от съвременни технологии, информационна безопасност, спорт, наука и изкуствен интелект.

С времето Linux става все по-тежък. Софтуерът за Linux дистрибуциите стана сложен и времето за зареждане на програмите се увеличава. Но има начин за оптимизация на процесите, чрез която системата започва да реагира по-бързо, а приложенията стартират веднага.

Тук ще разгледаме три съвсем лесни начина за ускоряване на всяка Linux дистрибуция. По-опитните потребители със сигурност познават тези методи, но тук те са събрани на едно място. Предлаганите техники дават възможност за получаване на значително ускоряване реакцията на операционната система, както и на общото бързодействие. Предложените методи оказват особено голямо влияние на по-старите машини, но и при съвременните компютри се забелязва неголям ръст на производителността.

Първа стъпка: инсталиране на prelink

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

Три лесни стъпки за ускоряване на всяка Linux дистрибуция

Преди много години Linux приложенията бяха съвсем опростени и за тяхната работа бяха необходими само няколко динамично зареждани системни библиотеки. Това бяха a.out изпълнимите файлове, предлагащи пределна простота на програмирането и изпълнението.

При файловете a.out, предварително се знае на кой адрес ще бъдат заредени по отношение паметта на процеса и на кои адреси ще се намират подпрограмите, функциите, променливите и т.н. Този подход осигурява висока скорост, но създава проблеми – какво ще стане, ако две библиотеки бъдат заредени на един и същ адрес? Ето защо бе въведен ELF форматът за изпълнимите файлове. Вече не се налагаше изпълнимите файлове да избират адресите във виртуалната памет, където да се заредят и тази отговорност бе прехвърлена на линкера (свързващия редактор). При ELF, адресите на зареждане на приложенията, библиотеките, функциите и т.н, се изчисляват при стартирането на програмата.

ELF бе за Linux една огромна стъпка напред и стана възможно да се зареждат и стартират голям брой приложения, използващи едни и същи динамични библиотеки без да възникват каквито и да било проблеми. Но от гледна точка на производителността, това е провал. Динамичното свързване е бързо и при използването само на няколко споделени библиотеки, когато няма забавяне. Но ако се стартира тромаво приложение, използващо около и над 50 споделени библиотеки, забавянето става съществено и може да достигне няколко и дори десетки секунди.

Prelink модифицира изпълнимите файлове по такъв начин, че в тях предварително са включени резултатите от необходимите динамични свързвания. Тоест, предварително се знаят необходимите адреси в паметта и не се налага тяхното изчисляване при стартирането.

Възможността „prelink“ бе предложена от Джейкъб Джелинек още през 2004 година това се превърна в един от най-удачните методи за повишаване скоростта на стартиране на приложенията. Достига се 50% ускоряване, а при OpenOffice, KDE, Gnome, и повече.

Инсталирането на prelink, който е включен в стандартните хранилища, може да стане както от софтуерния мениджър, така и от командния ред.

Три лесни стъпки за ускоряване на всяка Linux дистрибуция

Така например, за Debian GNU/Linux, Ubuntu и техните производни в терминала трябва да се въведе следното:

sudo apt install prelink

В Arch-подобните дистрибуции командата е:

sudo pacman -S prelink

А за фамилията Fedora/Red Hat трябва да се въведе следното:

sudo yum install prelink

След като prelink бъде инсталиран, е добре леко да се промени един от конфигурационните файлове. В произволен текстов редактор отваряме файла /etc/default/prelink с правата на администратор, намираме реда „PRELINKING=unknown“ и заменяме думата „unknown“ на „yes“. Записваме файла.

Три лесни стъпки за ускоряване на всяка Linux дистрибуция

Сега програмата е готова за работа. В терминала въвеждаме следното:

sudo prelink -avfmR

Компютърът ще работи известно време, през което ще бъдат направени съответните връзки към необходимите библиотеки и приложенията ще започна да работят по-бързо.

Ако искате да отмените предварителното свързване, достатъчно е да въведете следното:

sudo prelink -ua

Важно:

  • prelink не може да обработва файловете от проекта wine и няма как да бъде ускорен софтуера за ОС Windows.
  • След инсталирането на нови приложения и/или библиотеки, добре е prelink да се изпълни още веднъж

Втора стъпка: Инсталираме и активираме preload

Това е демон, който работи във фонов режим. Програмата натрупва статистика за най-често стартираните програми и кешира използваните от тях библиотеки. Това до известна степен ускорява зареждането на приложенията.

Точно както prelink, така и preload е включена в стандартните хранилища и може да се инсталира чрез софтуерния мениджър:

Три лесни стъпки за ускоряване на всяка Linux дистрибуция

За любителите на командния ред, командата за Debian GNU/Linux семейството е следната:

sudo apt install preload

За Arch Linux и неговите „роднини“:

sudo pacman -S preload

За Fedora/Red Hat и CentOS:

sudo yum install preload

Стандартните настройки са подходящи за почти всички. Но ако някой иска да вникне в тънкостите, може да разгледа файла /etc/preload.conf.

Три лесни стъпки за ускоряване на всяка Linux дистрибуция

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

Друг важен момент е, че preload може съществено да увеличи скоростта на зареждане на приложенията, но само в случай, че има достатъчно RAM. Минимумът, при който preload започва да оказва влияние е 2 GB. Това е минимумът: при по-малко оперативна памет preload може само да попречи.

Трета стъпка: оптимизираме използването на swap паметта

Около използването на swap отдавна се водят горещи дискусии. Но това е най-директния начин за оптимизиране на производителността. Нека се абстрахираме от чуждите мнения и да приемем, че swap е необходим и да се надяваме, че не се използва като файл, а като дял.

Три лесни стъпки за ускоряване на всяка Linux дистрибуция

Обикновено, размерът на swap областта е равен на капацитета на оперативната памет. Само че това е по-актуално за компютри с от 2 до 8 GB оперативна памет. Ако имате 16 GB или повече, едва ли ще искате да отрежете от капацитета на бързия си флаш диск толкова много дисково пространство и ще се ограничите с от 2 до 4 GB. А ако имате по-малко от 1 GB, никакъв swap няма да помогне.

По подразбиране, Linux започва да използва swap, когато оперативната памет се запълни до 40%. Но скоростта на работа на хард и дори флаш диска е много по-бавна от тази на оперативната памет, а именно там се намира swap пространството. Когато започне неговото използване, цялата система започва осезателно и дразнещо да се забавя. Ако имате 4 GB оперативна памет, то само стартирането на който и да е уеб браузър ще доведе до използването на swap, а това забавя системата.

За щастие, в Linux е съвсем лесно да се промени прага, при който започва използването на swap.

Нека първо проверим, какъв е прагът на задействане на swap паметта:

cat /proc/sys/vm/swappiness

Ако излезе съобщение „60“, това означава, че 40% са за RAM паметта и 60% за swap – тоест, прагът за включване на swap раздела е 40%.

Лесно можем да променим този праг. Един много добър компромис е swap разделът да се включи при 80 и дори повече процента използване на оперативната памет. Промяната на прага на 80% става с помощта на следната команда:

sudo sysctl -w vm.swappiness=20

Можем да се убедим, че всичко се е получило, като отново въведем предишната команда:

cat /proc/sys/vm/swappiness

Ако в терминала се вижда „20“ – всичко се е получило.

Три лесни стъпки за ускоряване на всяка Linux дистрибуция

Не могат да се дадат конкретни съвети за прага на включване на swap пространството. Всичко зависи от конкретно изпълняваните програми и от самия компютър. Обикновено, идеалният баланс е в пределите от 10 до 30 процента.

 


Описаните дотук три съвсем лесни стъпки могат значително да ускорят която и да било GNU/Linux дистрибуция. Не бива да забравяме, че всяко подобно решение е въпрос на компромис. Всеки сам трябва да се увери, кои точно параметри ускоряват неговата система.

Важно уточнение: след рестартирането на компютърната система, настройките на прага на включване на swap файла се губят и се налага описаните по-горе команди да се въведат отново, преди да е стартирането дори и едно приложение. Очевидно е, въпросната команда е по-удобно да бъда изпълнена автоматично след стартирането на системата. Но това е тема за друг материал.

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

56 Коментара
стари
нови оценка

Нови ревюта

Подобни новини