Pašreizējās Linux kodola un tā sastāvdaļu vērtības ir pieejamas, izmantojot īpašu saskarni - / proc direktoriju [5]. Šī ir virtuāla failu sistēma, kurā atsevišķos failus reāllaikā aizpilda vērtības. Vērtības atspoguļo faktisko stāvokli, kādā atrodas Linux kodols. Atsevišķiem failiem direktorijā / proc var piekļūt, izmantojot komandu cat šādi:
$ cat / proc / sys / net / core / somaxconn128
$
Vienu no šiem kodola parametriem sauc par vm.maigums. Tas “kontrolē relatīvo svaru, kas piešķirts izpildlaika atmiņas nomaiņai, nevis atmiņas lapu nomešanai no sistēmas lapu kešatmiņas” [6]. Sākot ar Linux kodola izlaidumiem 2.6 šī vērtība tika ieviesta. Tas tiek saglabāts failā / proc / sys / vm / swappiness .
Izmantojot Swap
Mijmaiņas [6] izmantošana bija būtiska mazāku UNIX mašīnu izmantošanas sastāvdaļa 90. gadu sākumā. Tas joprojām ir noderīgi (piemēram, ja automašīnā ir rezerves riepa), ja nepatīkamas atmiņas noplūdes traucē jūsu darbu. Iekārta palēninās ātrumu, bet vairumā gadījumu to joprojām varēs izmantot, lai pabeigtu piešķirto uzdevumu. Bezmaksas programmatūras izstrādātāji ir spēruši lielus soļus, lai samazinātu un novērstu programmu kļūdas, tāpēc pirms kodola parametru maiņas vispirms apsveriet atjaunināšanu uz jaunāku lietojumprogrammas un saistīto bibliotēku versiju.
Ja izpildīsit vairākus uzdevumus, neaktīvie uzdevumi tiks nomainīti diskā, labāk izmantojot atmiņu ar aktīvajiem uzdevumiem. Video rediģēšanai un citām lielām atmiņu patērējošām lietojumprogrammām bieži ir ieteicamais atmiņas apjoms un vieta diskā. Ja jums ir vecāka mašīna, kurai nav iespējams atjaunināt atmiņu, tad lielākas maiņas iespējas padarīšana par jums varētu būt labs pagaidu risinājums (skatiet [6] par to, kā uzzināt vairāk par to).
Maiņa var notikt atsevišķā nodalījumā vai mijmaiņas failā. Nodalījums ir ātrāks, un to atbalsta daudzas datu bāzes lietojumprogrammas. Failu pieeja ir elastīgāka (sk. Paketi dphys-swapfile Debian GNU / Linux [7]). Ja mainīšanai ir vairāk nekā viena fiziska ierīce, Linux kodols var izvēlēties ierīci, kas ir visstraujāk pieejama (zemāks latentums).
vm.maigums
Vm noklusējuma vērtība.swappiness ir 60 un apzīmē brīvās atmiņas procentuālo daudzumu pirms mijmaiņas aktivizēšanas. Jo zemāka vērtība, jo mazāk tiek izmantota maiņa, un vairāk atmiņas lapu tiek saglabāta fiziskajā atmiņā.
60 vērtība ir kompromiss, kas labi darbojas mūsdienu darbvirsmas sistēmās. Tā vietā servera sistēmai ir ieteicama mazāka vērtība. Kā norādīts “Red Hat Performance Tuning” rokasgrāmatā [8], datu bāzes darba slodzēm ieteicams izmantot mazāku mainīguma vērtību. Piemēram, Oracle datu bāzēm Red Hat iesaka mainīt vērtību 10. Turpretī MariaDB datu bāzēm ieteicams iestatīt precizitāti uz vērtību 1 [9].
Vērtības maiņa tieši ietekmē Linux sistēmas veiktspēju. Šīs vērtības ir definētas:
* 0: mijmaiņa ir atspējota
* 1: minimālais maiņas apjoms, to pilnībā neatslēdzot
* 10: ieteicamā vērtība, lai uzlabotu veiktspēju, ja sistēmā ir pietiekami daudz atmiņas
* 100: agresīva maiņa
Kā parādīts iepriekš, kaķa komanda palīdz nolasīt vērtību. Komanda sysctl dod jums to pašu rezultātu:
# sysctl vm.maigumsvm.maigums = 60
#
Paturiet prātā, ka sysctl komanda ir pieejama tikai administratīvam lietotājam. Lai iestatītu vērtību, īslaicīgi iestatiet vērtību / proc failu sistēmā šādi:
# atbalss 10> / proc / sys / vm / swappinessKā alternatīvu jūs varat izmantot komandu sysctl šādi:
# sysctl -w vm.maigums = 10Lai neatgriezeniski iestatītu vērtību, atveriet failu / etc / sysctl.conf kā administratīvais lietotājs un pievienojiet šādu rindu:
vm.maigums = 10Secinājums
Arvien vairāk linux lietotāju darbojas virtuālās mašīnas. Katram no tiem ir savs kodols papildus hipervizoram, kas faktiski kontrolē aparatūru. Virtuālajām mašīnām ir izveidoti virtuālie diski, tāpēc, mainot iestatījumu virtuālās mašīnas iekšienē, būs nenoteikti rezultāti. Vispirms eksperimentējiet, mainot hipervizora kodola vērtības, jo tas faktiski kontrolē jūsu datora aparatūru.
Vecākām mašīnām, kuras vairs nevar uzlabot (jau ir maksimāli atbalstīta atmiņa), varat apsvērt iespēju ievietot mašīnā nelielu cietvielu disku, lai to izmantotu kā papildu mijmaiņas ierīci. Tas acīmredzami kļūs par palīgmateriālu, jo atmiņas šūnas neizdodas no daudziem ierakstiem, taču par ļoti zemām izmaksām var pagarināt mašīnas kalpošanas laiku par gadu vai vairāk. Zemāks latentums un ātra lasīšana sniegs daudz labāku sniegumu nekā nomainīšana ar parasto disku, nodrošinot RAM starpposma rezultātus. Tam vajadzētu ļaut izmantot nedaudz zemāku vm.ātruma vērtības optimālai veiktspējai. Jums būs jāeksperimentē. SSD ierīces strauji mainās.
Ja jums ir vairāk nekā viena mijmaiņas ierīce, apsveriet iespēju to padarīt par RAID ierīci datu svītrošanai visā pieejamajās ierīcēs.
Bez izmaiņām mašīnā var veikt izmaiņas ātrumā, kas ir būtiska priekšrocība salīdzinājumā ar citām operētājsistēmām.
Mēģiniet iekļaut tikai jūsu biznesam nepieciešamos pakalpojumus. Tas samazinās atmiņas prasības, uzlabos veiktspēju un visu padarīs vienkāršāku.
Pēdējā piezīme: jūs pievienosiet slodzi savām mijmaiņas ierīcēm. Jūs vēlaties uzraudzīt to temperatūru. Pārkarsēta sistēma pazeminās CPU frekvenci un palēninās.
Pateicības
Autore vēlas pateikt īpašu paldies Geroldam Rupprecht un Zoleka Hatitongwe par kritiskajām piezīmēm un komentāriem, sagatavojot šo rakstu.
Saites un atsauces
* [1] Linux kodola apmācība iesācējiem, https: // linuxhint.com / linux-kernel-tutorial-beginners /
* [2] Dereks Mollojs: Linux kodola moduļa rakstīšana - 1. daļa: ievads, http: // derekmolloy.ie / / rakstot-linux-kodolu-moduli-1. daļu-ievadu /
* [3] Dereks Mollojs: Linux kodola moduļa rakstīšana - 2. daļa: Rakstzīmju ierīce, http: // derekmolloy.ti / rakstot-linux-kodola-moduļa-2-rakstzīmes ierīci /
* [4] Dereks Mollojs: Linux kodola moduļa rakstīšana - 3. daļa: Pogas un gaismas diodes, http: // derekmolloy.ti, / kodola-gpio-programmēšanas-pogas-un-leds /
* [5] Frenks Hofmans: komandas, lai pārvaldītu Linux atmiņu, https: // linuxhint.com / commands-to-manage-Linux-memory /
* [6] Frenks Hofmans: Linux kodola atmiņas pārvaldība: mainiet atstarpi, https: // linuxhint.com / linux-memory-management-swap-space /
* [7] pakete dphys-swapfile Debian GNU / Linux, https: // paketes.debian.org / stretch / dphys-swapfile
* [8] Red Hat Performance Tuning Guide, https: // piekļuve.sarkana cepure.com / dokumentācija / lv-us / red_hat_enterprise_linux / 6 / html / performance_tuning_guide / s-memory-melodijas
* [9] MariaDB konfigurēšana, https: // mariadb.com / kb / lv / library / configuring-swappiness /