Free
Autor
Autor: Leila Toomet
Rühm: AK21
Esitamise kuupäev: 24.10.2015
Sissejuhatus
“Free”, mida kasutatakse Linuxil baseeruvatel operatsioonisüsteemidel, näiteks nagu Ubuntu, on võimas käsk ja selle abil saab vaadelda mälu eraldamist. See on üks nendest käskudest, mida serveri administraator peaks hästi teadma, kuid mis võib tekitada segadust. Seletan ära “free” käsurea väljundi ja mõningaid tüüpilisemaid viise, kuidas seda käsku kasutada.
“Free” käsu alused
Kõige tavalisem viis “free'd” kasutada on:
free
Käsu käivitamisel kuvatakse midagi sarnast:
Joonis 1: Käivitamisel kuvatakse.
Mõned lihtsamad faktid, mida kuvatakse käivitamisel [Joonis 1]:
- Kõik numbrid on algselt kilobaitides (KB) (st 1024 baiti), kuid seda saab muuta (vt allpool)
- Väljundis kuvatakse mälu suuruseid, muutmälu (RAM) jaotust ja (swap) saalemälu, aga ka seletatakse kui palju sellest füüsilisest muutmälust on jaotatud puhverdamise ja vahemälu vahel, kui see ei ole kasutusel mõne rakenduse poolt.
Käsul “free” on mõned kasulikud valikud:
free -b
Kuvab väljundi baitides.
free -k
Kuvab väljundi kilobaitides.
free -m
Kuvab väljundi megabaitides.
free -g
Kuvab väljundi gigabaitides.
free --tera
Kuvab väljundi terabaitides.
free -h
Kuvab väljundi inimesele loetavas formaadis (nt 777MB).
free -t
Kuvab väljundis viimasel real "total" RAM+swap.
free -l
Kuvab väljundi, mis näitab üksikasjaliku mälu statistika.
Vaikimisi käsk “free” kasutab 1024 baiti, üksuste vahel toimuva konventeerimise käigus. See on tavaliselt tüüpiline, kui rääkida mälust või ketta suurusest, kuid see võib kaasa tuua ootamatuid suuruseid, kui võrrelda numbreid, mis põhinevad tuhandel (st 1KB = 1000 bitti). Käsureal võib konverteerida 1000-ga kui lisada “-si”.
free --si -m
Kui valiku võtit -m, -b jne ei ole juurde lisatud, siis --si kuvab kilobaitides.
“Free” käsu mälu väljund
“Free” käsu väljund võib alguses segadust tekitada [Joonis 1]. Tuleks veenduda, et see fakt jääb meelde: Linux võtab kasutamata mälu (a.k.a mälu mis ei ole kasutusel rakenduste ja operatsioonisüsteemi poolt) ja kasutab seda ketta puhverdamises ja vahemälus siis, kui saab.
Pole mõtet lasta vabal mälul raisku minna mitte midagi tehes. Mälu pannakse tööle kuni rakendus seda vajab. Kui rakendus vajab mälu ja nõuab osa kasutatavast mälust, mis on kasutusel puhverdamises ja vahemälus, siis Linux annab mälu rakendusele. Protsess on automaatne ja seda ei ole vaja välja lülitada (ilmselt ei ole ka võimalik).
Seda kõike meeles pidades vaadeldakse “free” käsu väljundit. Käivitades “free -m” genereerib järgmisi jaotusi megabaitides:
Joonis 2: Free mälu väljund megabaitides.
Selles näites, kollases kastis, on kogu muutmälu (RAM) süsteemil.
Enamus inimesed lähevad segadusse, kui vaadatakse kasutusel (used) vs vaba mälu (free memory). Eksikombel vaadatakse sinisesse kasti ja määravad selle abil kasutatud mälu kogust. Siis vaadatakse paremale ja nähakse väga väikest numbrit. Seal, kus on punane kast, ja määravad selle abil vaba mälu.
Mälu on ajutiselt kasutusel puhverdamises ja vahemälus nii, et see on kaasa arvatud sinisesse kasti. Oranźid kastid hoiavad vaba mälu puhveramisele ja vahemälule.
Kui palju mälu on tegelikult kasutusel Linuxis?
Kui ollakse huvitatud serveri mälu jaotusest, siis ei olda huvitatud, kui palju mälu on kasutuses puhverdamises ja vahemälus. Siis on vaja teada, mis on rakenduste poolt kasutusel ja mis on saadaval rakendustele. Teise rea väljud lahendab probleemi [Joonis 3].
Lilla kast esindab seda, mis on määratud rakendustele ja operatsioonisüsteemile. Seda võib kergelt üle kontrollida, kui sinisest kastist lahutad oraanźide kastide kogu summa. See on päriselt kasutatud mälu süsteemis [Joonis 3].
Kui palju mälu on tegelikult Linuxis vaba?
Vaba mälu tegelik summa on rohelises kastis. See on arvutatud, kui kollase kasti sisu lahutatakse lilla kastist. Võib ka arvutada nii: punane kast liita kahe oraanźi kastiga - tulemus on sama [Joonis 3].
Ümardamise vead
Kui proovida arvutada allolevaid kaste, ilmselt on märgata, et “Free” eksib ühe megabaidiga [Joonis 3]. “Free” kärbib mälu enne, kui mälu raporteeritakse. Kasutades “Free’s” kilobaite, saab täpsema tulemuse.
Saalemälust
Saalemälu on osa kõvakettast, mis on määratud käituma nagu muutmälu (RAM). Oleks mõttetu kasutada ketast puhverdamises ja vahemälus nii, et Linux ei kasuta seda ja käsk “free” näitab ainult tegelikku mälu, mis on kasutusel. Tagasi näite juurde:
Joonis 3: Free mälu väljund megabaitides.
7 megabaiti on hetkel kasutuses kettal nagu mälu. See on tõenäoliselt ruum, mis on reserveeritud operatsioonisüsteemi poolt, et jälgida ülejäänud saalemälu. Kui saalemälu on kasutusel, siis see ei ole hea. Serveri jaoks see on liiga aeglane. Kui süsteem kasutab saalemälu, siis on tõenäoliselt midagi valesti või masinas ei ole piisavalt mälu. Enamasti kasutatakse käsku “Free”, et kinnitada Linux saalemälu mitte kasutamist.
Näpunäited Linux’i “Free” käsu kasutamiseks
Selle asemel, et terminali korduvalt kirjutada käsku “free”, võib kasutada seda käsku, et aeg-ajalt käsku käivitada.
free -s N
Aeg-ajalt kävitab käsku "free".
Kokkuvõte
Käsk “free” kuvab informatsiooni mälu kohta. Käsuga “free” on võimalik muuta megabaidid kilobaitideks või mõneks muuks summaks. Referaadis on välja toodud võimalused, mida “free” käsuga on võimalik teha ja kuidas see kasulik on.
Viited
1. http://corlewsolutions.com/articles/article-6-understanding-the-free-command-in-ubuntu-and-linux