Linuxové jadro

Pochopenie vm.výmena

Pochopenie vm.výmena
Linuxové jadro je pomerne zložitý softvér s dlhým zoznamom komponentov, ako sú moduly, rozhrania a konfiguračné súbory [1]. Tieto komponenty možno konfigurovať s konkrétnymi hodnotami, aby sa dosiahlo požadované správanie alebo prevádzkový režim komponentu [2,3,4]. Toto nastavenie následne priamo ovplyvňuje chovanie aj výkon vášho systému Linux ako celku.

Aktuálne hodnoty jadra Linuxu a jeho komponentov sú prístupné pomocou špeciálneho rozhrania - adresára / proc [5]. Toto je virtuálny súborový systém, v ktorom sú jednotlivé súbory naplnené hodnotami v reálnom čase. Hodnoty predstavujú skutočný stav, v ktorom sa nachádza jadro systému Linux. K jednotlivým súborom v adresári / proc môžete získať prístup pomocou príkazu cat, a to nasledovne:

$ cat / proc / sys / net / core / somaxconn
128
$

Jeden z týchto parametrov jadra sa nazýva vm.výmena. „Riadi relatívnu váhu pripisovanú výmene runtime pamäte, na rozdiel od vyraďovania pamäťových stránok z medzipamäte systémových stránok“ [6]. Počnúc vydaním jadra Linuxu 2.6 bola táto hodnota zavedená. Je uložený v súbore / proc / sys / vm / swappiness .

Pomocou výmeny

Na začiatku 90. rokov bolo použitie výmeny [6] podstatnou súčasťou používania menších strojov UNIX. Stále je užitočné (napríklad mať vo vozidle rezervu pneumatiky), keď vám pri práci prekážajú nepríjemné úniky pamäte. Zariadenie sa spomalí, ale vo väčšine prípadov bude stále použiteľné na dokončenie zadanej úlohy. Vývojári slobodného softvéru vyvíjajú veľké kroky na zníženie a elimináciu chýb programu, takže pred zmenou parametrov jadra zvážte najskôr aktualizáciu na novšiu verziu svojej aplikácie a súvisiacich knižníc.

Ak spustíte množstvo úloh, neaktívne úlohy sa vymenia na disk, čím sa lepšie využije pamäť aktívnych úloh. Úpravy videa a ďalšie aplikácie náročné na veľkú pamäť často odporúčajú odporúčané množstvo pamäte a miesta na disku. Ak máte starší počítač, ktorý nemôže mať aktualizáciu pamäte, potom by mohlo byť pre vás dobrým dočasným riešením sprístupnenie väčšieho množstva swapov (viac informácií o tom nájdete v časti [6]).

K zámene môže dôjsť na samostatnom oddiele alebo na odkladacom súbore. Oddiel je rýchlejší a obľúbený mnohými databázovými aplikáciami. Súborový prístup je flexibilnejší (pozri balíček dphys-swapfile v Debiane GNU / Linux [7]). Mať viac ako jedno fyzické zariadenie na výmenu umožňuje jadru systému Linux vybrať si zariadenie, ktoré je najrýchlejšie dostupné (nižšia latencia).

vm.výmena

Predvolená hodnota vm.swappiness je 60 a predstavuje percento voľnej pamäte pred aktiváciou swapu. Čím je hodnota nižšia, tým menej sa používa výmena a tým viac pamäťových stránok sa uchováva vo fyzickej pamäti.

Hodnota 60 je kompromis, ktorý funguje dobre pre moderné stolové systémy. Namiesto toho je pre serverový systém odporúčaná menšia hodnota. Ako upozorňuje príručka Red Hat Performance Tuning [8], pre databázové pracovné zaťaženia sa odporúča menšia hodnota swappiness. Napríklad pre databázy Oracle spoločnosť Red Hat odporúča hodnotu výmeny 10. Naopak pre databázy MariaDB sa odporúča nastaviť swappiness na hodnotu 1 [9].

Zmena hodnoty priamo ovplyvňuje výkon systému Linux. Tieto hodnoty sú definované:

* 0: swap je zakázaný
* 1: minimálna výmena bez úplného deaktivovania
* 10: odporúčaná hodnota na zvýšenie výkonu, keď je v systéme dostatok pamäte
* 100: agresívne výmeny

Ako je uvedené vyššie, príkaz cat pomáha čítať hodnotu. Rovnaký výsledok vám poskytne aj príkaz sysctl:

# sysctl vm.výmena
vm.výmena = 60
#

Pamätajte, že príkaz sysctl je k dispozícii iba pre administrátora. Ak chcete dočasne nastaviť hodnotu, nastavte hodnotu v systéme súborov / proc takto:

# echo 10> / proc / sys / vm / swappiness

Alternatívne môžete použiť príkaz sysctl nasledovne:

# sysctl -w vm.výmena = 10

Ak chcete hodnotu nastaviť natrvalo, otvorte súbor / etc / sysctl.conf ako administratívny užívateľ a pridajte nasledujúci riadok:

vm.výmena = 10

Záver

Stále viac používateľov linuxu používa virtuálne stroje. Každý z nich má okrem hypervízora, ktorý skutočne riadi hardvér, aj svoje vlastné jadro. Virtuálne stroje majú pre ne vytvorené virtuálne disky, takže zmena nastavenia vo virtuálnom stroji bude mať neurčité výsledky. Najskôr experimentujte so zmenou hodnôt jadra hypervisora, pretože skutočne riadi hardvér vášho počítača.

U starších počítačov, ktoré už nie je možné inovovať (už majú maximálnu podporovanú pamäť), môžete zvážiť vloženie malého disku SSD do stroja, aby ste ho mohli použiť ako ďalšie vymeniteľné zariadenie. Toto sa samozrejme stane spotrebným materiálom, pretože pamäťové bunky zlyhajú pri mnohých zápisoch, ale môže predĺžiť životnosť stroja na rok alebo viac za veľmi nízke náklady. Nižšia latencia a rýchle načítanie poskytnú oveľa lepší výkon ako výmena na obyčajný disk, čo prinesie medzivýsledky RAM. To by vám malo umožniť použiť o niečo nižší vm.hodnoty swappiness pre optimálny výkon. Budete musieť experimentovať. Zariadenia SSD sa rýchlo menia.

Ak máte viac ako jedno vymeniteľné zariadenie, zvážte vytvorenie zariadenia RAID na pruhovanie údajov medzi dostupnými zariadeniami.

V zámene môžete vykonávať zmeny bez nutnosti reštartovať počítač, čo je veľká výhoda oproti iným operačným systémom.

Pokúste sa zahrnúť iba služby, ktoré potrebujete pre svoje podnikanie. Tým sa znížia nároky na pamäť, zvýši sa výkon a všetko sa zjednoduší.

Posledná poznámka: Do svojich odkladacích zariadení budete pridávať záťaž. Budete pravdepodobne sledovať ich teploty. Prehriaty systém zníži frekvenciu procesora a spomalí sa.

Poďakovanie

Autor by chcel osobitne poďakovať Geroldovi Rupprechtovi a Zoleke Hatitongweovej za kritické poznámky a pripomienky pri príprave tohto článku.

Odkazy a referencie

* [1] Výukový program pre jadro Linuxu pre začiatočníkov, https: // linuxhint.com / linux-kernel-tutorial-pre zaciatocnikov /

* [2] Derek Molloy: Writing a Linux Kernel Module - Part 1: Introduction, http: // derekmolloy.tj / úvod-úvod-zápisu-a-linux-jadra-modulu-1 /

* [3] Derek Molloy: Writing a Linux Kernel Module - Part 2: A Character Device, http: // derekmolloy.tj / write-a-linux-kernel-module-part-2-a-character-device /

* [4] Derek Molloy: Writing a Linux Kernel Module - Part 3: Buttons and LEDs, http: // derekmolloy.tj / kernel-gpio-programming-buttons-and-leds /

* [5] Frank Hofmann: Príkazy na správu pamäte Linux, https: // linuxhint.com / commands-to-manage-linux-memory /

* [6] Frank Hofmann: Linux Kernel Memory Management: Swap Space, https: // linuxhint.com / linux-memory-management-swap-priestor /

* [7] balíček dphys-swapfile pre balíčky Debian GNU / Linux, https: //.debian.org / stretch / dphys-swapfile

* [8] Red Hat Performance Tuning Guide, https: // prístup.červený klobúk.com / documentation / en-us / red_hat_enterprise_linux / 6 / html / performance_tuning_guide / s-memory-tunables

* [9] Konfigurácia MariaDB, https: // mariadb.com / kb / sk / library / configuring-swappiness /

Ako zmeniť ľavé a pravé tlačidlo myši na počítači so systémom Windows 10
Je úplnou normou, že všetky zariadenia počítačových myší sú ergonomicky navrhnuté pre pravákov. Existujú však dostupné myšacie zariadenia, ktoré sú šp...
Napodobňovanie kliknutí myšou vznášaním sa pomocou myši bez myši vo Windows 10
Používanie myši alebo klávesnice v nesprávnom postoji k nadmernému používaniu môže mať za následok veľa zdravotných problémov vrátane napätia, syndróm...
Pridajte gestá myši do systému Windows 10 pomocou týchto bezplatných nástrojov
V posledných rokoch sa počítače a operačné systémy veľmi vyvinuli. Boli časy, keď používatelia museli prechádzať správcami súborov pomocou príkazov. R...