Spomin

Optimizacija uporabe pomnilnika Linux

Optimizacija uporabe pomnilnika Linux
V prvem delu te serije smo podrobneje preučili prostor za zamenjavo, drugi del pa se je ukvarjal z orodji in ukazi za upravljanje pomnilnika. Zdaj bomo razpravljali o različnih parametrih in strategijah za optimizacijo pomnilnika in njegove uporabe na splošno. To zajema količino pomnilnika, pospeševanje dostopa in notranjo strategijo uporabe.

Količina pomnilnika

Kot smo že omenili v prvem delu, se celoten pomnilnik imenuje navidezni pomnilnik in je sestavljen iz fizičnega pomnilnika in swap prostora. Razpoložljivost fizičnega pomnilnika je odvisna od strojne opreme, ki je vgrajena v napravo, in od tega, koliko pomnilnika dejansko lahko naslovi procesor. Na primer, 32-bitni operacijski sistemi imajo omejitev 4G pomnilnika, le (2 ^ 32-bitni), medtem ko operacijski sistemi, ki temeljijo na 64-bitnih teoretično, omogočajo do 16 EB (2 ^ 64-bitnih).

Natančneje, omejitev so matična plošča s samim procesorjem, pomnilniški moduli, ki jih ta matična plošča podpira, in posebni pomnilniški moduli, ki so priključeni v pomnilniške reže na matični plošči. Eden od načinov za povečanje razpoložljivega pomnilnika sistema je uporaba podobnih pomnilniških modulov, ki imajo čim večjo velikost. Drugi način je uporaba izmenjevalnega pomnilnika, kot je že razloženo v prvem delu.

Dostop do pomnilnika

Nato pride v poštev izboljšanje hitrosti dostopa do pomnilnika. Najprej fizično omejitev določa sam pomnilniški modul. Ne morete iti pod fizične meje strojne opreme. Na drugi strani pomnilniški disk, na tretji pa uporaba zRAM lahko pospeši dostop do pomnilnika. O teh dveh tehnologijah bomo podrobneje razpravljali.

Ustvarjanje diska

Ramdisk je blok pomnilnika, ki ga operacijski sistem obdeluje kot fizična naprava za shranjevanje podatkov - trdi disk, ki je v celoti shranjen v pomnilniku. Ta začasna naprava obstaja takoj, ko se sistem zažene in omogoči ramdisk, sistem pa ramdisk onemogoči ali pa se izklopi. Upoštevajte, da se podatki, ki jih shranite na takem disku, po izklopu naprave izgubijo.

Dinamični ramdisk lahko ustvarite prek datotečnega sistema tmpfs in prek datotečnega sistema ramfs. Obe tehnologiji se med seboj bistveno razlikujeta. Prvič, dinamično pomeni, da se pomnilnik za ramdisk dodeli glede na njegovo uporabo (velja za obe metodi). Dokler na njem ne shranjujete podatkov, je velikost diska 0.

Ustvarjanje dinamičnega diska ramdisk prek tmpfs je naslednje:

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

Ustvarjanje dinamičnega diska ramdisk prek ramfsa je naslednje:

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

Drugič, z uporabo tmpfs in če ni izrecno določeno, je velikost diska omejena na 50% fizičnega pomnilnika. Nasprotno pa ramdisk, ki temelji na ramfs, nima takšnih omejitev.

Ustvarjanje dinamičnega diska ramdisk prek tmpfs z relativno velikostjo 20% fizičnega pomnilnika je naslednje:

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

Ustvarjanje dinamičnega diska ramdisk prek tmpfs s fiksno velikostjo 200M fizičnega pomnilnika je naslednje:

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

Tretjič, obe metodi zamenjavo zamenjata na drugačen način. V primeru, da sistem doseže omejitev pomnilnika diska na podlagi tmpfs, se podatki z diska zamenjajo. To onemogoča zamisel o hitrem dostopu. Po drugi strani operacijski sistem daje prednost vsebini in zahtevanim pomnilniškim stranem pomnilniškega diska, ki temeljijo na ramfsih, jih hrani v pomnilniku in preostale pomnilniške strani zamenja na disk.

V zgornjih primerih smo uporabili / media / ramdisk kot točka pritrditve. Kar zadeva običajne podatke, je edini del datotečnega sistema Linux, ki ga priporočamo za uporabo na ramdisku / tmp. V tem imeniku so shranjeni samo začasni podatki, ki ne obstajajo. Če želite ustvariti trajni ramdisk, ki shranjuje datotečni sistem / tmp, je v datoteko potreben dodaten vnos / etc / fstab kot sledi (na osnovi ramfs):

privzete vrednosti ramfs / tmp ramfs 0 0

Ko boste naslednjič zagnali sistem Linux, bo ramdisk samodejno omogočen.

Uporaba zRAM

zRAM pomeni navidezno zamenjavo, stisnjeno v RAM-u, in ustvari stisnjeno blokovno napravo neposredno v fizičnem pomnilniku. zRAM začne delovati (uporabiti) takoj, ko v sistemu ni na voljo več strani fizičnega pomnilnika. Nato jedro Linuxa poskuša shraniti strani kot stisnjene podatke v napravi zRAM.

Trenutno za Debian GNU / Linux ni na voljo nobenega paketa, razen Ubuntuja. Imenuje se zram-config. Namestite paket in nastavite napravo zRAM s preprostim zagonom ustrezne storitve systemd, kot sledi:

# systemctrl start zram-config

Kot je razvidno iz rezultata swapon -i, naprava je aktivna kot dodatna swap particija. Samodejno se za zRAM dodeli velikost 50% pomnilnika (glej sliko 1). Trenutno ni mogoče določiti drugačne vrednosti za dodelitev zRAM.

Če želite videti več podrobnosti o stisnjeni swap particiji, uporabite ukaz zramctl. Slika 2 prikazuje ime naprave, algoritem stiskanja (LZO), velikost izmenljive particije, velikost podatkov na disku in njeno stisnjeno velikost ter število tokov stiskanja (privzeta vrednost: 1).

Strategija uporabe

Nato se osredotočimo na strategijo uporabe pomnilnika. Obstaja nekaj parametrov, ki vplivajo na vedenje uporabe in distribucije pomnilnika. To vključuje velikost pomnilniških strani - v 64-bitnih sistemih znaša 4M. Nato igra vlogo zamenjava parametrov. Kot je bilo že razloženo v prvem delu, ta parameter nadzoruje relativno težo, ki jo dobi zamenjava iz izvajalnega pomnilnika, v nasprotju s spuščanjem pomnilniških strani iz predpomnilnika sistemskih strani. Prav tako ne smemo pozabiti na predpomnjenje in poravnavo pomnilniške strani.

Uporabljajte programe, ki zahtevajo manj pomnilnika

Nenazadnje je uporaba pomnilnika odvisna od samih programov. Večina jih je povezanih s privzeto knjižnico C (standardni LibC). Kot razvijalec za zmanjšanje binarne kode razmislite o uporabi druge in veliko manjše knjižnice C. Na primer, obstajajo dietlibc [1], uClibc [2] in musl lib C [3]. Spletno mesto razvijalca musl lib C vsebuje obsežno primerjavo [4] glede teh knjižnic glede na najmanjši možni statični program C, primerjavo funkcij in ustrezna okolja gradnje ter podprte arhitekture strojne opreme.

Kot uporabnik vam morda ne bo treba prevajati programov. Razmislite o iskanju manjših programov in različnih okvirov, ki zahtevajo manj sredstev. Kot primer lahko namesto KDE ali GNOME uporabite namizno okolje XFCE.

Zaključek

Obstaja kar nekaj možnosti za spremembo uporabe pomnilnika na bolje. To se giblje od zamenjave do stiskanja na podlagi zRAM, pa tudi nastavitve diska ali izbire drugega okvira.

Povezave in reference

Serija za upravljanje pomnilnika Linux

Zahvala

Avtor se zahvaljuje Axelu Beckertu in Geroldu Rupprechtu za podporo pri pripravi tega članka.

S pomočjo gumba X-Mouse Button Control različno prilagodite gumbe miške za različno programsko opremo
Mogoče potrebujete orodje, ki bi lahko spremenilo nadzor miške z vsako aplikacijo, ki jo uporabljate. V tem primeru lahko preizkusite aplikacijo z ime...
Microsoft Sculpt Touch Wireless Mouse Review
Pred kratkim sem prebral o Microsoftov kiparski dotik brezžično miško in se odločil za nakup. Potem ko sem ga nekaj časa uporabljal, sem se odločil, d...
Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...