În timp, Linux devine mai greu. Software-ul pentru distribuțiile Linux a devenit sofisticat și timpul de încărcare a programului crește. Dar există o modalitate de a optimiza procesele, prin care sistemul începe să răspundă mai rapid, iar aplicațiile încep imediat.

simpli

Iată trei moduri foarte ușoare de a accelera orice distribuție Linux. Utilizatorii mai experimentați cunosc cu siguranță aceste metode, dar aici sunt adunați într-un singur loc. Tehnicile propuse fac posibilă obținerea unei accelerații semnificative a reacției sistemului de operare, precum și a vitezei globale. Metodele propuse au un impact deosebit de mare asupra mașinilor mai vechi, dar chiar și în computerele moderne există o ușoară creștere a productivității.

Primul pas: instalați prelinkul

Pre-legătura este o modificare a fișierului executabil, care include rezultatele conectării dinamice a bibliotecilor partajate. Să încercăm să clarificăm lucrurile.

Cu mulți ani în urmă, aplicațiile Linux au fost complet simplificate și au necesitat doar câteva biblioteci de sistem încărcate dinamic. Acestea au fost fișiere executabile, oferind o simplitate extremă de programare și execuție.

Pentru fișierele a.out, se știe în prealabil la ce adresă vor fi încărcate în ceea ce privește memoria procesului și la ce adrese vor fi localizate rutinele, funcțiile, variabilele etc. Această abordare oferă viteză mare, dar creează probleme - ce se întâmplă dacă două biblioteci sunt încărcate la aceeași adresă? De aceea a fost introdus formatul ELF pentru fișierele executabile. Fișierele executabile nu mai trebuiau să selecteze adrese din memoria virtuală pentru a le încărca, iar această responsabilitate a fost transferată către linker (editor de legătură). În ELF, adresele de boot ale aplicațiilor, bibliotecilor, funcțiilor etc. sunt calculate la pornirea programului.

ELF a fost un mare pas înainte pentru Linux și a devenit posibilă încărcarea și rularea unui număr mare de aplicații folosind aceleași biblioteci dinamice fără probleme. Dar în ceea ce privește performanța, acesta este un eșec. Conexiunea dinamică este rapidă chiar și atunci când se utilizează doar câteva biblioteci partajate atunci când nu există nicio întârziere. Dar dacă rulați o aplicație greoaie folosind aproximativ și peste 50 de biblioteci partajate, întârzierea devine semnificativă și poate ajunge la câteva sau chiar zeci de secunde.

Prelink modifică fișierele executabile în așa fel încât rezultatele conexiunilor dinamice necesare să fie incluse în avans. Adică, adresele necesare din memorie sunt cunoscute în avans și nu este necesar să le calculați la pornire.

Opțiunea „prelink” a fost propusă de Jacob Jelinek în 2004. Aceasta a devenit una dintre cele mai bune metode pentru a crește viteza de lansare a aplicațiilor. Se realizează o accelerație de 50% și cu OpenOffice, KDE, Gnome și multe altele.

Instalarea prelink, care este inclusă în depozitele standard, poate fi realizată atât de managerul software, cât și de linia de comandă.

De exemplu, pentru Debian GNU/Linux, Ubuntu și derivatele acestora, trebuie introduse următoarele în terminal:

În distribuțiile de tip Arch, comanda este:

Și pentru familia Fedora/Red Hat, trebuie introduse următoarele:

Odată ce prelink-ul este instalat, este o idee bună să schimbați ușor unul dintre fișierele de configurare. În orice editor de text, deschideți fișierul/etc/default/prelink cu drepturi de administrator, găsiți linia „PRELINKING = necunoscut” și înlocuiți cuvântul „necunoscut” cu „da”. Salvăm fișierul.

Acum programul este gata să funcționeze. În terminal introducem următoarele:

Computerul va rula o perioadă, timp în care vor fi realizate conexiunile corespunzătoare la bibliotecile necesare și aplicațiile vor începe să funcționeze mai repede.

Dacă doriți să anulați preconectarea, introduceți următoarele:

Important:

  • prelink nu poate procesa fișierele din proiectul wine și nu există nicio modalitate de a accelera software-ul Windows.
  • După instalarea de aplicații și/sau biblioteci noi, este o idee bună să rulați din nou prelinkul

Al doilea pas: Instalați și activați preîncărcarea

Acesta este un daemon care rulează în fundal. Programul acumulează statistici pentru cele mai frecvent rulate programe și memorează în cache bibliotecile pe care le utilizează. Acest lucru accelerează încărcarea aplicației într-o oarecare măsură.

La fel ca prelinkul și preîncărcarea sunt incluse în depozitele standard și pot fi instalate prin managerul de software:

Pentru pasionații de linie de comandă, comanda pentru familia Debian GNU/Linux este după cum urmează:

Despre Arch Linux și „rudele” sale:

Pentru Fedora/Red Hat și CentOS:

Setările implicite sunt potrivite pentru aproape toată lumea. Dar dacă cineva dorește să înțeleagă complexitățile, poate să se uite la fișierul /etc/preload.conf.

Pentru a clarifica faptul că demonul nu începe să lucreze imediat, ci după ce a acumulat statistici.

Un alt punct important este că preîncărcarea poate crește semnificativ viteza de încărcare a aplicațiilor, dar numai dacă există suficientă memorie RAM. Minimul la care începe să afecteze preîncărcarea este de 2 GB. Acesta este minimul: cu mai puțină memorie RAM, preîncărcarea poate interfera doar.

Al treilea pas: optimizăm utilizarea memoriei swap

Utilizarea swap-ului a fost multă vreme dezbătută. Dar acesta este cel mai direct mod de a optimiza performanța. Să ne abstractizăm de opiniile altor persoane și să acceptăm că swap-ul este necesar și să sperăm că nu este folosit ca fișier, ci ca partiție.

De obicei, dimensiunea zonei de swap este egală cu capacitatea RAM. Cu toate acestea, acest lucru este mai relevant pentru computerele cu 2 până la 8 GB RAM. Dacă aveți 16 GB sau mai mult, cu greu veți dori să reduceți cât mai mult spațiu pe disc din capacitatea unității flash rapide și să vă limitați la 2 până la 4 GB. Și dacă aveți mai puțin de 1 GB, niciun swap nu vă va ajuta.

Mod implicit, Linux începe să folosească swap când memoria RAM este plină cu până la 40%. Dar viteza hard disk-ului și chiar a unității flash este mult mai lentă decât cea a memoriei RAM și acolo este spațiul de schimb. Când începeți să-l utilizați, întregul sistem începe să încetinească în mod vizibil și iritant. Dacă aveți 4 GB RAM, atunci doar rularea oricărui browser web va utiliza swap, ceea ce încetinește sistemul.

Din fericire, c Linux este destul de ușor de schimbat pragul la care începe utilizarea swap-ului.

Să verificăm mai întâi pragul declanșatorului swap:

Dacă apare mesajul „60”, înseamnă că 40% este pentru RAM și 60% pentru swap - adică pragul pentru activarea filei swap este de 40%.

Putem schimba cu ușurință acest prag. Un compromis foarte bun este includerea partiției swap la 80% sau mai mult din utilizarea RAM. Schimbarea pragului la 80% se face folosind următoarea comandă:

Ne putem asigura că totul a funcționat reintroducând comanda anterioară:

Dacă vedeți „20” în terminal - totul a funcționat.

Nu se poate da niciun sfat specific cu privire la pragul pentru activarea spațiului swap. Totul depinde de programele specifice care rulează și de computerul în sine. De obicei, echilibrul ideal este cuprins între 10 și 30 la sută.

Cei trei pași foarte simpli descriși până acum pot accelera semnificativ orice distribuție GNU/Linux. Nu trebuie să uităm că o astfel de decizie este o chestiune de compromis. Toată lumea trebuie să vadă singuri exact ce parametri îi accelerează sistemul.

Notă importantă: după repornirea sistemului computerului, setările pentru pragul de pornire a fișierului swap se pierd și comenzile descrise mai sus trebuie reintroduse înainte de a putea porni chiar și o singură aplicație. Evident, comanda în cauză este mai convenabilă pentru a fi executată automat după pornirea sistemului. Dar acesta este un subiect pentru alte materiale.