Mälu

Linuxi mälukasutuse optimeerimine

Linuxi mälukasutuse optimeerimine
Selle seeria esimeses osas vaatasime lähemalt Vahetusruumi ja teine ​​osa käsitles tööriistu ja käske mälu haldamiseks. Nüüd arutleme erinevate parameetrite ja strateegiate üle, kuidas optimeerida mälu ja selle kasutamist üldiselt. See hõlmab mälu hulka, juurdepääsu kiirendamist ja sisemist kasutusstrateegiat.

Mälu maht

Nagu esimeses osas juba räägitud, nimetatakse kogu mälu virtuaalseks mäluks ja see koosneb nii füüsilisest kui ka vahetatavast ruumist. Füüsilise mälu kättesaadavus sõltub nii riistvarast, mis on masinasse sisse ehitatud, kui ka sellest, kui palju mälu protsessor tegelikult suudab lahendada. Näiteks on 32-bitistel operatsioonisüsteemidel ainult 4G mälu (2 ^ 32-bitine), samas kui 64-bitistel operatsioonisüsteemidel on teoreetiliselt lubatud kuni 16 EB (2 ^ 64-bitine).

Täpsustuseks võib öelda, et piiranguks on emaplaat koos protsessori enda, mälumoodulid, mida see emaplaat toetab, ja konkreetsed mälumoodulid, mis on ühendatud emaplaadi mälupesadega. Üks võimalus süsteemi vaba mälu maksimeerimiseks on kasutada sarnaseid mälumooduleid, millel on võimalikult suur suurus. Teine võimalus on vahetamismälu kasutamine, nagu juba esimeses osas selgitatud.

Juurdepääs mälule

Järgmisena tuleb arvesse võtta mälu juurdepääsu kiiruse parandamist. Algul annab füüsilise piiri mälumoodul ise. Te ei saa minna riistvara füüsilistest piiridest allapoole. Teiseks võib RAM-ketas ja kolmandaks zRAM-i kasutamine kiirendada mälule juurdepääsu. Me arutame neid kahte tehnoloogiat üksikasjalikumalt.

Ramdiski loomine

Ramdisk on mäluplok, mida operatsioonisüsteem käsitab nagu füüsiline seade andmete salvestamiseks - kõvaketas, mida hoitakse täielikult mälus. See ajutine seade on olemas kohe, kui süsteem käivitub ja lubab ramdiski ning süsteem kas keelab ramdiski või lülitub välja. Pidage meeles, et sellisele ramdiskile salvestatud andmed kaovad pärast masina seiskamist.

Dünaamilise ramdiski saate luua failisüsteemi tmpfs ja failisüsteemi ramfs kaudu. Mõlemad tehnoloogiad erinevad üksteisest oluliselt. Esiteks tähendab dünaamiline, et ramdiski mälu eraldatakse selle kasutamise põhjal (kehtib mõlema meetodi puhul). Niikaua kui te sellele andmeid ei salvesta, on ramdiski suurus 0.

Dünaamilise ramdiski loomine tmpfs kaudu on järgmine:

# mkdir / media / ramdisk
# mount -t tmpfs none / media / ramdisk

Dünaamilise ramdiski loomine ramfide kaudu on järgmine:

# mkdir / media / ramdisk
# mount -t ramfs ramfs / media / ramdisk

Teiseks, tmpf-de kasutamine ja kui pole selgesõnaliselt määratletud, on ramdiski suurus piiratud 50% -ga. Seevastu ramfidel põhineval ramdiskil pole sellist piirangut.

Dünaamilise ramdiski loomine tmpfs kaudu suhtelise suurusega 20% füüsilisest mälust on järgmine:

# mkdir / media / ramdisk
# mount -t tmpfs -o size = 20% none / media / ramdisk

Dünaamilise ramdiski loomine tmpfs kaudu, mille fikseeritud suurus on 200M füüsilist mälu, on järgmine:

# mkdir / media / ramdisk
# mount -t tmpfs -o size = 200M none / media / ramdisk

Kolmandaks käsitlevad mõlemad meetodid vahetamist erinevalt. Kui süsteem jõuab tmpf-de põhjal ramdiski mälupiiranguni, vahetatakse andmed ramdiskilt. See rikub kiire juurdepääsu ideed. Teiselt poolt seab operatsioonisüsteem ramfide põhjal esikohale nii ramdiski sisu kui ka taotletud mälulehed, hoiab seda mälus ja vahetab ülejäänud mälulehed kettale.

Eespool toodud näidetes oleme kasutanud / media / ramdisk kinnituskohana. Tavapäraste andmete osas on Linuxi failisüsteemi ainus osa, mida soovitatakse kasutada ramdiskil / tmp. Selles kataloogis salvestatakse ainult ajutised andmed, mis ei püsi. Püsiva ramdiski loomine, mis salvestab / tmp-failisüsteemi, nõuab failis täiendavat sisestust / etc / fstab järgmiselt (ramfide põhjal):

ramfs / tmp ramfs vaikimisi 0 0

Järgmisel Linuxi süsteemi käivitamisel lubatakse ramdisk automaatselt.

ZRAM-i kasutamine

zRAM tähendab RAM-is tihendatud virtuaalset vahetust ja loob tihendatud plokiseadme otse füüsilisse mällu. zRAM hakkab toimima (kasutama) kohe, kui süsteemis pole enam füüsilise mälu lehti saadaval. Seejärel proovib Linuxi kernel salvestada lehti tihendatud andmetena zRAM-seadmesse.

Praegu pole Debiani GNU / Linuxi jaoks saadaval ühtegi paketti, vaid Ubuntu. Selle nimi on zram-config. Installige pakett ja seadistage zRAM-seade, käivitades vastava süsteemiteenuse järgmiselt:

# systemctrl käivitage zram-config

Nagu annab väljund swapon -s, seade on aktiivne täiendava vahetuspartitsioonina. Automaatselt eraldatakse zRAM-ile 50% mälust (vt joonis 1). Praegu ei ole võimalik määrata eraldatava zRAM-i jaoks muud väärtust.

Tihendatud vahetuspartitsiooni kohta lisateabe saamiseks kasutage käsku zramctl. Joonisel 2 on näidatud seadme nimi, tihendusalgoritm (LZO), vahetuspartitsiooni suurus, kettal olevate andmete suurus ja tihendatud suurus ning tihendusvoogude arv (vaikeväärtus: 1).

Kasutamisstrateegia

Järgmisena keskendume mälukasutuse strateegiale. Mälukasutuse ja levitamise käitumise mõjutamiseks on mõned parameetrid. See hõlmab ka mälulehekülgede suurust - 64-bitistes süsteemides on see 4M. Järgmisena mängib rolli parameetri vahetus. Nagu esimeses osas juba selgitatud, kontrollib see parameeter käitusmälu väljavahetamisele antud suhtelist kaalu, vastandina mälulehekülgede kukutamisele süsteemilehe vahemälust. Samuti ei tohiks me unustada nii vahemällu salvestamist kui ka mälulehe joondamist.

Kasutage programme, mis vajavad vähem mälu

Lõpuks, kuid mitte vähem oluline, sõltub mälu kasutamine programmidest endast. Enamik neist on seotud vaikimisi C teegiga (tavaline LibC). Arendajana kaaluge binaarkoodi minimeerimiseks alternatiivse ja hoopis väiksema C-teegi kasutamist. Näiteks on dietlibc [1], uClibc [2] ja musl lib C [3]. Arendaja veebileht musl lib C sisaldab nende teekide põhjalikku võrdlust [4] võimalikult väikse staatilise C programmi, funktsioonide võrdluse, vastavate ehituskeskkondade ja toetatud riistvaraarhitektuuride osas.

Kasutajana ei pea te võib-olla oma programme koostama. Kaaluge väiksemate programmide ja erinevate raamistike otsimist, mis nõuavad vähem ressursse. Näiteks võite KDE või GNOME asemel kasutada XFCE töölauakeskkonda.

Järeldus

Mälu kasutamise paremaks muutmiseks on üsna palju võimalusi. See ulatub nii vahetusest kuni tihendamiseni, mis põhineb zRAM-il, kui ka ramdiski seadistamise või mõne muu raamistiku valimisega.

Lingid ja viited

Linuxi mäluhalduse seeria

Tänusõnad

Autor soovib tänada Axel Beckertit ja Gerold Rupprechti toetuse eest selle artikli ettevalmistamisel.

Rakenduse AppyMouse ekraanipaneel ja hiirekursor Windowsi tahvelarvutitele
Tahvelarvutite kasutajad tunnevad hiirekursorit sageli puudust, eriti kui neil on kombeks sülearvuteid kasutada. Puutetundliku ekraaniga nutitelefonid...
Hiire keskmine nupp ei tööta Windows 10-s
The hiire keskmine nupp aitab teil sirvida pikki rohke andmega veebisaite ja ekraane. Kui see peatub, siis lõpuks kasutate kerimiseks klaviatuuri, mis...
Kuidas muuta hiire vasakut ja paremat nuppu Windows 10 PC-s
On üsna tavaline, et kõik arvutihiirte seadmed on ergonoomiliselt mõeldud parempoolsete kasutajate jaoks. Kuid on olemas hiire seadmeid, mis on spetsi...