Linuxi tuum

Mõistmine vm.vahetus

Mõistmine vm.vahetus
Linuxi kernel on üsna keeruline tarkvara koos pika nimekirja komponentidega nagu moodulid, liidesed ja konfiguratsioonifailid [1]. Neid komponente saab konfigureerida konkreetsete väärtustega, et saavutada komponendi soovitud käitumine või töörežiim [2,3,4]. Seejärel mõjutab see seadistus otseselt teie Linuxi süsteemi käitumist ja toimivust tervikuna.

Linuxi tuuma ja selle komponentide praegused väärtused muudetakse kättesaadavaks spetsiaalse liidese abil - kataloogi / proc [5]. See on virtuaalne failisüsteem, kus üksikud failid täidetakse reaalajas väärtustega. Väärtused tähistavad Linuxi kerneli tegelikku olekut. Üksikutele failidele kataloogis / proc pääseb juurde käsu cat abil järgmiselt:

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

Ühte neist tuuma parameetritest nimetatakse vm.vahetus. See "kontrollib käitamismälu vahetamise suhtelist kaalu, mitte mälulehekülgede kukutamist süsteemilehe vahemälust" [6]. Alustades Linuxi tuuma versioonidega 2.6 see väärtus võeti kasutusele. See on salvestatud faili / proc / sys / vm / swappiness .

Vahetuse kasutamine

1990-ndate aastate alguses oli väiksemate UNIX-masinate kasutamisel oluline osa vahetustehingute [6] kasutamine. See on endiselt kasulik (näiteks kui sõidukis on varurehv), kui vastikud mälulekked segavad teie tööd. Masin aeglustub, kuid enamikul juhtudel on see määratud ülesande täitmiseks siiski kasutatav. Vaba tarkvara arendajad on teinud suuri samme programmivigade vähendamiseks ja kõrvaldamiseks, nii et enne kerneli parameetrite muutmist kaaluge kõigepealt oma rakenduse ja sellega seotud teekide uuema versiooni värskendamist.

Kui käivitate arvukalt ülesandeid, vahetatakse mitteaktiivsed ülesanded kettale, kasutades teie aktiivsete toimingutega paremini mälu. Videotöötlusel ja muudel suurt mälu nõudvatel rakendustel on sageli soovitatav mälu ja kettaruum. Kui teil on vanem masin, millel ei saa mälu uuendada, võib suurema vahetusvõimaluse pakkumine olla teie jaoks hea ajutine lahendus (vt selle kohta lisateavet [6]).

Vahetus võib toimuda eraldi partitsioonil või vahetustoimikul. Partitsioon on kiirem ja paljude andmebaasirakenduste poolt eelistatud. Failipõhine lähenemine on paindlikum (vt pakett dphys-swapfile Debian GNU / Linuxis [7]). Rohkem kui ühe füüsilise seadme olemasolu vahetamiseks võimaldab Linuxi kernelil valida seadme, mis on kõige kiiremini saadaval (madalam latentsusaeg).

vm.vahetus

Vm vaikeväärtus.vahetus on 60 ja tähistab vaba mälu protsenti enne vahetuse aktiveerimist. Mida väiksem on väärtus, seda vähem kasutatakse vahetusi ja seda rohkem mälulehti hoitakse füüsilises mälus.

60 väärtus on kompromiss, mis sobib hästi tänapäevaste töölaua süsteemide jaoks. Selle asemel on serverisüsteemi jaoks soovitatav väiksem väärtus. Nagu juhendis Red Hati jõudlushäälestus märgitakse [8], on andmebaasi töökoormuste jaoks soovitatav väiksem vahetusväärtus. Näiteks Oracle'i andmebaaside jaoks soovitab Red Hat vahetusväärtuseks 10. Seevastu MariaDB andmebaaside puhul on soovitatav seada vahetus väärtuseks 1 [9].

Väärtuse muutmine mõjutab otseselt Linuxi süsteemi jõudlust. Need väärtused on määratletud:

* 0: vahetamine on keelatud
* 1: minimaalne vahetamise summa ilma seda täielikult blokeerimata
* 10: soovitatav väärtus jõudluse parandamiseks, kui süsteemis on piisavalt mälu
* 100: agressiivne vahetamine

Nagu eespool näidatud, aitab kassi käsk väärtust lugeda. Samuti annab sama tulemuse käsk sysctl:

# sysctl vm.vahetus
vm.vahetus = 60
#

Pidage meeles, et käsk sysctl on saadaval ainult administraatorikasutajatele. Väärtuse määramiseks määrake väärtus / proc-failisüsteemis ajutiselt järgmiselt:

# kaja 10> / proc / sys / vm / vahetus

Alternatiivina võite kasutada käsku sysctl järgmiselt:

# sysctl -w vm.vahetus = 10

Väärtuse püsivaks määramiseks avage fail / etc / sysctl.conf administraatori kasutajana ja lisage järgmine rida:

vm.vahetus = 10

Järeldus

Üha rohkem Linuxi kasutajaid töötab virtuaalmasinaid. Igal neist on lisaks hüpervisorile oma tuum, mis riistvara tegelikult juhib. Virtuaalmasinatele on nende jaoks loodud virtuaalsed kettad, nii et virtuaalmasina sisemuse muutmisel on määramata tulemused. Esmalt katsetage hüpervisori tuuma väärtuste muutmist, kuna see kontrollib tegelikult teie masina riistvara.

Vanemate masinate puhul, mida ei saa enam täiendada (juba on maksimaalselt toetatud mälu), võite kaaluda väikese tahkisse kettale masinasse paigutamist, et seda täiendava vahetusseadmena kasutada. See muutub ilmselt tarbekaubaks, kuna mälurakud ebaõnnestuvad paljude kirjutuste korral, kuid võivad väga madalate kuludega pikendada masina eluiga aasta või kauem. Väiksem latentsus ja kiire lugemine annavad palju parema jõudluse kui tavalisele kettale vahetamine, andes RAM-ile vahepealseid tulemusi. See peaks võimaldama teil kasutada mõnevõrra madalamat vm.optimaalse jõudluse väärtused. Peate katsetama. SSD-seadmed muutuvad kiiresti.

Kui teil on mitu vahetusseadet, kaaluge andmete muutmiseks olemasolevate seadmete jaoks RAID-seadmeks.

Vahetust saab muuta ilma masinat taaskäivitamata, mis on teiste operatsioonisüsteemide ees suur eelis.

Proovige kaasata ainult oma ettevõtte jaoks vajalikud teenused. See vähendab mälunõudeid, parandab jõudlust ja hoiab kõike lihtsamat.

Viimane märkus: lisate oma vahetusseadmetele koormust. Te soovite jälgida nende temperatuure. Ülekuumenenud süsteem alandab protsessori sagedust ja aeglustub.

Tänusõnad

Autor soovib öelda erilise tänu Gerold Rupprechtile ja Zoleka Hatitongwele kriitiliste märkuste ja kommentaaride eest selle artikli ettevalmistamisel.

Lingid ja viited

* [1] Linuxi tuuma õpetus algajatele, https: // linuxhint.com / linux-kernel-tutorial-beginners /

* [2] Derek Molloy: Linuxi tuumamooduli kirjutamine - 1. osa: sissejuhatus, http: // derekmolloy.st / kirjutamine-Linux-kernel-moodul-osa-1-sissejuhatus /

* [3] Derek Molloy: Linuxi tuumamooduli kirjutamine - 2. osa: märgiseade, http: // derekmolloy.st / kirjutades-Linux-kerneli-mooduli-osa-2-tähemärgiseadmele /

* [4] Derek Molloy: Linuxi tuumamooduli kirjutamine - 3. osa: nupud ja valgusdioodid, http: // derekmolloy.ie / kernel-gpio-programmeerimine-nupud-ja-ledid /

* [5] Frank Hofmann: käsud Linuxi mälu haldamiseks, https: // linuxhint.com / käsud-Linux-mälu haldamiseks /

* [6] Frank Hofmann: Linuxi tuuma mäluhaldus: ruumi vahetamine, https: // linuxhint.com / linux-memory-management-swap-space /

* [7] pakett dphys-swapfile Debiani GNU / Linuxi jaoks, https: // paketid.debian.org / stretch / dphys-swapfile

* [8] Red Hati jõudluse häälestamise juhend, https: // juurdepääs.punane müts.com / dokumentatsioon / et-us / red_hat_enterprise_linux / 6 / html / performance_tuning_guide / s-mäluhäälestused

* [9] MariaDB seadistamine, https: // mariadb.com / kb / et / library / configuring-swappiness /

5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...
Lahing Wesnothi eest 1.13.6 Areng vabastati
Lahing Wesnothi eest 1.13.6 ilmus eelmisel kuul, on 1-s kuues arendusversioon.13.x-seeria ja see pakub mitmeid täiustusi, eelkõige kasutajaliidese ja ...
League of Legendsi installimine Ubuntu 14-le.04
Kui olete League of Legends fänn, siis on see teile võimalus proovida League of Legendsit. Pange tähele, et LOL-i toetab PlayOnLinux, kui olete Linuxi...