Free: Difference between revisions
Line 83: | Line 83: | ||
<pre> | <pre> | ||
free -s | free -s #Leaves old values on screen until they scroll off | ||
watch -n <interval in seconds> free | watch -n <interval in seconds> free #Overwrites old values | ||
</pre> | </pre> | ||
Revision as of 20:53, 23 November 2015
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:
Mõned lihtsamad faktid, mida kuvatakse käivitamisel:
- Single shot -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 1.5M) free -t #Lisab kokkuvõtva rea väljundisse
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
“Free” käsu mälu väljund
“Free” käsu väljund võib alguses segadust tekitada. 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 vaatleme “free” käsu väljundit. Käivitades “free -m” genereerib järgmisi jaotusi megabaitides:
Selles näites, kollases kastis, on kogu muutmälu (RAM) süsteemil.
Enamus inimesed lähevad segadusse, kui nad vaatavad kasutusel (used) vs vaba mälu (free memory). Nad eksikombel vaatavad sinisesse kasti ja määravad selle abil kasutatud mälu kogust. Siis nad vaatavad paremale ja näevad 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.
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.
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.
Ümardamise vead
Kui proovida arvutada ülalolevaid kaste, ilmselt on märgata, et “Free” eksib ühe megabaidiga. “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:
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 ühte nendest kahest käsust, et aeg-ajalt seda käsku käivitada.
free -s #Leaves old values on screen until they scroll off watch -n <interval in seconds> free #Overwrites old values
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